mirror of
https://github.com/sismics/docs.git
synced 2025-12-13 09:46:17 +00:00
Search logs by min level instead of exact level
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.sismics.util.log4j;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.log4j.Level;
|
||||
|
||||
/**
|
||||
* Log search criteria.
|
||||
@@ -10,9 +11,9 @@ import org.apache.commons.lang.StringUtils;
|
||||
public class LogCriteria {
|
||||
|
||||
/**
|
||||
* Logging level (DEBUG, WARN)...
|
||||
* Minimum logging level (DEBUG, WARN)...
|
||||
*/
|
||||
private String level;
|
||||
private Level minLevel;
|
||||
|
||||
/**
|
||||
* Logger name / tag.
|
||||
@@ -24,57 +25,30 @@ public class LogCriteria {
|
||||
*/
|
||||
private String message;
|
||||
|
||||
/**
|
||||
* Getter of level.
|
||||
*
|
||||
* @return level
|
||||
*/
|
||||
public String getLevel() {
|
||||
return level;
|
||||
public Level getMinLevel() {
|
||||
return minLevel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter of level.
|
||||
*
|
||||
* @param level level
|
||||
*/
|
||||
public void setLevel(String level) {
|
||||
this.level = StringUtils.lowerCase(level);
|
||||
public LogCriteria setMinLevel(Level level) {
|
||||
this.minLevel = level;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter of tag.
|
||||
*
|
||||
* @return tag
|
||||
*/
|
||||
public String getTag() {
|
||||
return tag;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter of tag.
|
||||
*
|
||||
* @param tag tag
|
||||
*/
|
||||
public void setTag(String tag) {
|
||||
public LogCriteria setTag(String tag) {
|
||||
this.tag = StringUtils.lowerCase(tag);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter of message.
|
||||
*
|
||||
* @return message
|
||||
*/
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter of message.
|
||||
*
|
||||
* @param message message
|
||||
*/
|
||||
public void setMessage(String message) {
|
||||
public LogCriteria setMessage(String message) {
|
||||
this.message = StringUtils.lowerCase(message);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.sismics.util.log4j;
|
||||
|
||||
import org.apache.log4j.Level;
|
||||
|
||||
/**
|
||||
* Log entry.
|
||||
*
|
||||
@@ -14,7 +16,7 @@ public class LogEntry {
|
||||
/**
|
||||
* Logging level (DEBUG, WARN)...
|
||||
*/
|
||||
private String level;
|
||||
private Level level;
|
||||
|
||||
/**
|
||||
* Logger name / tag.
|
||||
@@ -34,46 +36,37 @@ public class LogEntry {
|
||||
* @param tag Logger name / tag
|
||||
* @param message Message logged
|
||||
*/
|
||||
public LogEntry(long timestamp, String level, String tag, String message) {
|
||||
public LogEntry(long timestamp, Level level, String tag, String message) {
|
||||
this.timestamp = timestamp;
|
||||
this.level = level;
|
||||
this.tag = tag;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter of timestamp.
|
||||
*
|
||||
* @return timestamp
|
||||
*/
|
||||
public long getTimestamp() {
|
||||
return timestamp;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter of level.
|
||||
*
|
||||
* @return level
|
||||
*/
|
||||
public String getLevel() {
|
||||
public Level getLevel() {
|
||||
return level;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter of tag.
|
||||
*
|
||||
* @return tag
|
||||
*/
|
||||
public String getTag() {
|
||||
return tag;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter of message.
|
||||
*
|
||||
* @return message
|
||||
*/
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
/**
|
||||
* Compare the current log level with the provided one.
|
||||
*
|
||||
* @param level2 Comparison level
|
||||
* @return 1 if level is greater than level2, -1 if level is lower than level2, and 0 if level equals to level2
|
||||
*/
|
||||
public int compareLevel(String level2) {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
package com.sismics.util.log4j;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.sismics.docs.core.util.jpa.PaginatedList;
|
||||
import org.apache.log4j.AppenderSkeleton;
|
||||
import org.apache.log4j.helpers.LogLog;
|
||||
import org.apache.log4j.spi.LoggingEvent;
|
||||
|
||||
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.
|
||||
*
|
||||
@@ -54,7 +56,7 @@ public class MemoryAppender extends AppenderSkeleton {
|
||||
|
||||
String loggerName = getLoggerName(event);
|
||||
|
||||
LogEntry logEntry = new LogEntry(System.currentTimeMillis(), event.getLevel().toString(), loggerName, event.getMessage().toString());
|
||||
LogEntry logEntry = new LogEntry(System.currentTimeMillis(), event.getLevel(), loggerName, event.getMessage().toString());
|
||||
logQueue.add(logEntry);
|
||||
}
|
||||
|
||||
@@ -98,13 +100,13 @@ public class MemoryAppender extends AppenderSkeleton {
|
||||
*/
|
||||
public void find(LogCriteria criteria, PaginatedList<LogEntry> list) {
|
||||
List<LogEntry> logEntryList = new LinkedList<LogEntry>();
|
||||
final String level = criteria.getLevel();
|
||||
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 ((level == null || logEntry.getLevel().toLowerCase().equals(level)) &&
|
||||
if ((minLevel == null || Integer.compare(logEntry.getLevel().toInt(), minLevel.toInt()) >= 0) &&
|
||||
(tag == null || logEntry.getTag().toLowerCase().equals(tag)) &&
|
||||
(message == null || logEntry.getMessage().toLowerCase().contains(message))) {
|
||||
logEntryList.add(logEntry);
|
||||
|
||||
Reference in New Issue
Block a user