请问log4j的配置如何让日志文件生成的文件显示文件行的序号?谢谢了,分明不够另加

解决方案 »

  1.   

    用UltraEdit打开不就知道了吗?
      

  2.   

    log4j有自定义输出样式的啊
    具体参数记不清了
    不知道日志每行的时间可以做行号不
      

  3.   

    自己继承一下Appender就行了,比如继承ConsoleAppender,然后在配置里把org.apache.log4j.ConsoleAppender换成自己的类就可以了
    public class CustomConsoleAppender extends ConsoleAppender { private int line = 1; protected void subAppend(LoggingEvent event) {
    StringBuffer buffer = new StringBuffer();
    buffer.append("[Line:").append(line++).append("]").append(this.layout.format(event));
    this.qw.write(buffer.toString()); if(layout.ignoresThrowable()) {
          String[] s = event.getThrowableStrRep();
          if (s != null) {
    int len = s.length;
    for(int i = 0; i < len; i++) {
      this.qw.write(s[i]);
      this.qw.write(Layout.LINE_SEP);
    }
          }
        }     if(this.immediateFlush) {
          this.qw.flush();
        }
    }
    }
      

  4.   

    继承PatternLayout也是一样,看你自己选择了
    public class CustomPatternLayout extends PatternLayout{
    private int line = 1; public String format(LoggingEvent event) {
    StringBuffer buffer = new StringBuffer();
    buffer.append("[Line:").append(line++).append("]").append(super.format(event));
    return buffer.toString();
    }}