我假设您需要以下格式的日志格式
精细,消息1,对象.GetValue(),消息2,1,消息3,2
您需要创建输出消息格式
logger.log(Level.INFO, "{0},{1},{2},{3},{4},{5}",new Object[]{Message1,object.getValue(),Message2,1,Message3,2});
现在您需要通过扩展 Formatter 类来创建一个自定义格式化程序
public class DataFormatter extends Formatter {
@Override
public synchronized String format(LogRecord record) {
String formattedMessage = formatMessage(record);
String throwable = "";
String outputFormat = "%1$s, %2$s \n %3$s"; //Also adding for logging exceptions
if (record.getThrown() != null) {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
pw.println();
record.getThrown().printStackTrace(pw);
pw.close();
throwable = sw.toString();
}
return String.format(outputFormat,record.getLevel().getName(),formattedMessage,throwable);
}
}
现在设置新创建的格式化程序
for(int i=0;i<logger.getHandlers().length;i++)
logger.getHandlers()[i].setFormatter(new DataFormatter());