日志输出区别错误和普通日志。在console输出时,错误日志使用system.err输出。

This commit is contained in:
wusheng 2016-07-31 16:32:49 +08:00
parent 207dbca543
commit d6ae469b76
4 changed files with 18 additions and 2 deletions

View File

@ -2,4 +2,6 @@ package com.ai.cloud.skywalking.logging;
public interface IWriter {
void write(String message);
void writeError(String message);
}

View File

@ -23,11 +23,15 @@ public class Logger {
StackTraceElement locations[] = dummyException.getStackTrace();
if (locations != null && locations.length > 2) {
WriterFactory.getLogWriter().write(formatMessage(level, message, locations[2]));
if(ERROR.equals(level) || WARN.equals(level)){
WriterFactory.getLogWriter().writeError(formatMessage(level, message, locations[2]));
}else {
WriterFactory.getLogWriter().write(formatMessage(level, message, locations[2]));
}
}
if (e != null) {
WriterFactory.getLogWriter().write(LoggingUtil.fetchThrowableStack(e));
WriterFactory.getLogWriter().writeError(LoggingUtil.fetchThrowableStack(e));
}
}

View File

@ -5,6 +5,11 @@ public class STDOutWriter implements IWriter {
@Override
public void write(String message) {
System.out.println(message);
}
@Override
public void writeError(String message) {
System.err.println(message);
}
}

View File

@ -48,6 +48,11 @@ public class SyncFileWriter implements IWriter {
switchLogFileIfNecessary();
}
@Override
public void writeError(String message) {
this.write(message);
}
private void writeLogRecord(String message) {
try {
os.write(message.getBytes());