mirror of
https://github.com/sismics/docs.git
synced 2025-12-16 11:15:07 +00:00
log4j -> logback
This commit is contained in:
@@ -62,16 +62,6 @@
|
||||
<artifactId>jsoup</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>log4j</groupId>
|
||||
<artifactId>log4j</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
@@ -82,6 +72,21 @@
|
||||
<artifactId>jcl-over-slf4j</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>jul-to-slf4j</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-to-slf4j</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-classic</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>at.favre.lib</groupId>
|
||||
<artifactId>bcrypt</artifactId>
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
package com.sismics.util.io;
|
||||
|
||||
import com.google.common.io.Closer;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
@@ -15,7 +16,7 @@ import java.io.InputStreamReader;
|
||||
*/
|
||||
public class InputStreamReaderThread extends Thread {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(InputStreamReaderThread.class);
|
||||
private static final Logger logger = LoggerFactory.getLogger(InputStreamReaderThread.class);
|
||||
|
||||
private InputStream is;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.sismics.util.log4j;
|
||||
package com.sismics.util.logback;
|
||||
|
||||
import ch.qos.logback.classic.Level;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.log4j.Level;
|
||||
|
||||
/**
|
||||
* Log search criteria.
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.sismics.util.log4j;
|
||||
package com.sismics.util.logback;
|
||||
|
||||
import org.apache.log4j.Level;
|
||||
|
||||
import ch.qos.logback.classic.Level;
|
||||
|
||||
/**
|
||||
* Log entry.
|
||||
@@ -1,25 +1,22 @@
|
||||
package com.sismics.util.log4j;
|
||||
package com.sismics.util.logback;
|
||||
|
||||
import ch.qos.logback.classic.Level;
|
||||
import ch.qos.logback.classic.spi.ILoggingEvent;
|
||||
import ch.qos.logback.core.AppenderBase;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.sismics.docs.core.util.jpa.PaginatedList;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Queue;
|
||||
import java.util.concurrent.ConcurrentLinkedQueue;
|
||||
|
||||
import org.apache.log4j.AppenderSkeleton;
|
||||
import org.apache.log4j.Level;
|
||||
import org.apache.log4j.helpers.LogLog;
|
||||
import org.apache.log4j.spi.LoggingEvent;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.sismics.docs.core.util.jpa.PaginatedList;
|
||||
|
||||
/**
|
||||
* Memory appender for Log4J.
|
||||
* Memory appender for Logback.
|
||||
*
|
||||
* @author jtremeaux
|
||||
*/
|
||||
public class MemoryAppender extends AppenderSkeleton {
|
||||
public class MemoryAppender extends AppenderBase<ILoggingEvent> {
|
||||
|
||||
/**
|
||||
* Maximum size of the queue.
|
||||
@@ -29,34 +26,18 @@ public class MemoryAppender extends AppenderSkeleton {
|
||||
/**
|
||||
* Queue of log entries.
|
||||
*/
|
||||
private final Queue<LogEntry> logQueue = new ConcurrentLinkedQueue<LogEntry>();
|
||||
private static final Queue<LogEntry> logQueue = new ConcurrentLinkedQueue<>();
|
||||
|
||||
@Override
|
||||
public boolean requiresLayout() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized void close() {
|
||||
if (closed) {
|
||||
return;
|
||||
}
|
||||
closed = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized void append(LoggingEvent event) {
|
||||
protected void append(ILoggingEvent event) {
|
||||
while (logQueue.size() > size) {
|
||||
logQueue.remove();
|
||||
}
|
||||
if (closed) {
|
||||
LogLog.warn("This appender is already closed, cannot append event.");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
String loggerName = getLoggerName(event);
|
||||
|
||||
LogEntry logEntry = new LogEntry(System.currentTimeMillis(), event.getLevel(), loggerName, event.getMessage().toString());
|
||||
LogEntry logEntry = new LogEntry(System.currentTimeMillis(), event.getLevel(), loggerName, event.getMessage());
|
||||
logQueue.add(logEntry);
|
||||
}
|
||||
|
||||
@@ -66,7 +47,7 @@ public class MemoryAppender extends AppenderSkeleton {
|
||||
* @param event Event
|
||||
* @return Class name
|
||||
*/
|
||||
private String getLoggerName(LoggingEvent event) {
|
||||
private String getLoggerName(ILoggingEvent event) {
|
||||
int index = event.getLoggerName().lastIndexOf('.');
|
||||
|
||||
return (index > -1) ?
|
||||
@@ -75,12 +56,12 @@ public class MemoryAppender extends AppenderSkeleton {
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter of logList.
|
||||
* Getter of size.
|
||||
*
|
||||
* @return logList
|
||||
* @return size
|
||||
*/
|
||||
public Queue<LogEntry> getLogList() {
|
||||
return logQueue;
|
||||
public int getSize() {
|
||||
return size;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -98,15 +79,14 @@ public class MemoryAppender extends AppenderSkeleton {
|
||||
* @param criteria Search criteria
|
||||
* @param list Paginated list (modified by side effect)
|
||||
*/
|
||||
public void find(LogCriteria criteria, PaginatedList<LogEntry> list) {
|
||||
public static void find(LogCriteria criteria, PaginatedList<LogEntry> list) {
|
||||
List<LogEntry> logEntryList = new LinkedList<LogEntry>();
|
||||
final Level minLevel = criteria.getMinLevel();
|
||||
final String tag = criteria.getTag();
|
||||
final String message = criteria.getMessage();
|
||||
int resultCount = 0;
|
||||
for (Iterator<LogEntry> it = logQueue.iterator(); it.hasNext();) {
|
||||
LogEntry logEntry = it.next();
|
||||
if ((minLevel == null || Integer.compare(logEntry.getLevel().toInt(), minLevel.toInt()) >= 0) &&
|
||||
for (LogEntry logEntry : logQueue) {
|
||||
if ((minLevel == null || logEntry.getLevel().toInt() >= minLevel.toInt()) &&
|
||||
(tag == null || logEntry.getTag().toLowerCase().equals(tag)) &&
|
||||
(message == null || logEntry.getMessage().toLowerCase().contains(message))) {
|
||||
logEntryList.add(logEntry);
|
||||
@@ -1,10 +0,0 @@
|
||||
log4j.rootCategory=DEBUG, CONSOLE, MEMORY
|
||||
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.CONSOLE.layout.ConversionPattern=%d{DATE} %p %l %m %n
|
||||
log4j.appender.MEMORY=com.sismics.util.log4j.MemoryAppender
|
||||
log4j.appender.MEMORY.size=1000
|
||||
|
||||
log4j.logger.com.sismics=INFO
|
||||
log4j.logger.org.hibernate=ERROR
|
||||
log4j.logger.org.apache.directory=ERROR
|
||||
18
docs-core/src/test/resources/logback.xml
Normal file
18
docs-core/src/test/resources/logback.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%date [%t] %-5level %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
<appender name="MEMORY" class="com.sismics.util.logback.MemoryAppender">
|
||||
<size>1000</size>
|
||||
</appender>
|
||||
<logger name="org.apache.directory" level="ERROR"/>
|
||||
<logger name="com.sismics" level="INFO"/>
|
||||
<logger name="org.hibernate" level="ERROR"/>
|
||||
<root level="DEBUG">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="MEMORY"/>
|
||||
</root>
|
||||
</configuration>
|
||||
Reference in New Issue
Block a user