package com.log4jviewer.domain;
import com.log4jviewer.logfile.LogRecord;
import com.log4jviewer.logfile.fields.LogLevelName;
/**
* The wrapper class for text file logs. Provides information about log fields.
*
* @author <a href="mailto:rd.ryly@gmail.com">Ruslan Diachenko</a>
*/
public class FileLogEvent implements LogEvent {
private LogRecord log;
public FileLogEvent(final LogRecord log) {
this.log = log;
}
@Override
public String getCategoryName() {
return StringUtility.emptyStringIfNull(log.getCategoryName());
}
@Override
public String getClassName() {
return StringUtility.emptyStringIfNull(log.getClassName());
}
@Override
public String getDate() {
return StringUtility.emptyStringIfNull(log.getDate());
}
@Override
public String getFileName() {
return StringUtility.emptyStringIfNull(log.getFileName());
}
@Override
public String getLineNumber() {
String lineInfo = "";
int lineNumber = log.getLineNumber();
if (lineNumber > 0) {
lineInfo = Integer.toString(lineNumber);
}
return lineInfo;
}
@Override
public String getMdc() {
return StringUtility.emptyStringIfNull(log.getMdc());
}
@Override
public String getMessage() {
return StringUtility.emptyStringIfNull(log.getMessage());
}
@Override
public String getMethodName() {
return StringUtility.emptyStringIfNull(log.getMethodName());
}
@Override
public String getNdc() {
return StringUtility.emptyStringIfNull(log.getNdc());
}
@Override
public String getLevel() {
String levelInfo = "";
LogLevelName level = log.getLevel();
if (level != null) {
levelInfo = level.name();
}
return levelInfo;
}
@Override
public String getThreadName() {
return StringUtility.emptyStringIfNull(log.getThreadName());
}
@Override
public String getThrowableInfo() {
return "";
}
}