天乙社区中就是html的log
我贴出它的配置代码:
#log4j.rootLogger=INFO,A1,R
log4j.category.com.laoer=INFO,A1,R
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%nlog4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=C:/Tomcat/webapps/bbscs5/sys.html
log4j.appender.R.MaxFileSize=500KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.HTMLLayout
#log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

解决方案 »

  1.   

    老兄,光有配置代码没用,写成html格式很简单,可是怎么在html中使用标记呢?
      

  2.   

    笨办法: 不要当做html输出,写好你的tag,然后把文件后缀变成html,不知行不行。
      

  3.   

    把内容直接当文本输出,然后文件以html后缀直接打开
      

  4.   


    import java.io.FileOutputStream;
    import org.apache.log4j.Level;
    import org.apache.log4j.Logger;
    import org.apache.log4j.SimpleLayout;
    import org.apache.log4j.FileAppender;
    import org.apache.log4j.HTMLLayout;
    import org.apache.log4j.WriterAppender;
    import org.apache.log4j.PatternLayout;
    import org.apache.log4j.ConsoleAppender;
    public class Log4jTest {
        private static Logger logger= Logger.getLogger( Log4jTest.class );
        
        /**
         * Simpler Layout and File Appender test.
         */
        private void doSimpleFileTest(){        
            SimpleLayout layout = new SimpleLayout();
            FileAppender appender = null;
            try {
                appender = new FileAppender(layout,"output1.txt",false);
            } catch (Exception ex) {}        
            
            logger.addAppender( appender );
            logger.setLevel( Level.DEBUG );        // test log
            testLog();    }// end doSimpleFileTest method
        
        /**
         * HTML layout and writer appender test.
         */
        private void doHTMLWriterTest(){
            HTMLLayout layout = new HTMLLayout();
            layout.setTitle( "Log4j test: html format" );        WriterAppender appender = new WriterAppender();
            try {
                FileOutputStream out = new FileOutputStream("output2.html",false);
                appender = new WriterAppender(layout, out);
             } catch (Exception ex) {}
             
             logger.addAppender( appender );
             logger.setLevel( Level.DEBUG );
             
             // test log
             testLog();
        }
        
        /**
         * Pattern layout and console appender test.
         */
        private void doPatternConsoleTest(){
            // pattern
            String pattern = "Milliseconds since program start: %r %n" +
                "Classname of caller: %C %n" +
                "Data in ISO8601 format: %d{ISO8601} %n" +
                "Data in DATE format: %d{DATE} %n" +
                "Data in ABSOLUTE format: %d{ABSOLUTE} %n" +
                "Location of log event: %l %n" +
                "Message: %m %n %n";
            PatternLayout layout = new PatternLayout( pattern );
            ConsoleAppender appender = new ConsoleAppender( layout );
            
            logger.addAppender( appender );
            logger.setLevel( Level.DEBUG );
            
            // test
            testLog();
        }
        
        
        // helper method testLog
        private void testLog(){
            logger.debug( "Here is some DEBUG" );
            logger.info( "Here is some INFO" );
            logger.warn( "Here is some WARN" );
            logger.error( "Here is some ERROR" );
            logger.fatal( "Here is some FATAL" );
            logger.info( "中文日志");
        }
        
        public static void main( String[] args ){
            Log4jTest test = new Log4jTest();
            test.doSimpleFileTest();
            test.doHTMLWriterTest();
            test.doPatternConsoleTest();
        }}