不知道怎么把这个分开,关键是log的配置类是单例模式,只能配置一次,帮你顶一下

解决方案 »

  1.   

    主要是由log.properties文件来配置,以下是我结合你给出的写的一个例子,注意代码的1、2、3行,规定输出到哪里,log4j.appender.app.File=D:/application.log是输出路经#log4j.rootCategory=DEBUG, console, database
    log4j.rootCategory=DEBUG, console, databaselog4j.category.app=DEBUG, console, application
    log4j.additivity.app=false#
    #
    log4j.appender.console=org.apache.log4j.ConsoleAppender
    log4j.appender.console.layout=org.apache.log4j.PatternLayout
    log4j.appender.console.layout.ConversionPattern=%d{ISO8601}:%6r:%p:%m%n#
    #
    log4j.appender.server=org.apache.log4j.RollingFileAppender
    log4j.appender.server.layout=org.apache.log4j.PatternLayout
    #log4j.appender.server.layout.ConversionPattern=%d{ISO8601}:%r:%p:%m:%c:%t:%l%n
    log4j.appender.server.layout.ConversionPattern=%d{ISO8601}:%6r:%6p:%m:%c:%t:%l%n
    log4j.appender.server.File=D:/database.log
    log4j.appender.server.MaxFileSize=10MB
    log4j.appender.server.MaxBackupIndex=10
    #
    #
    log4j.appender.app=org.apache.log4j.RollingFileAppender
    log4j.appender.app.layout=org.apache.log4j.PatternLayout
    #log4j.appender.app.layout.ConversionPattern=%d{ISO8601}:%r:%p:%m:%c:%t:%l%n
    log4j.appender.app.layout.ConversionPattern=%d{ISO8601}:%6r:%6p:%m:%c:%t:%l%n
    log4j.appender.app.File=D:/application.log
    log4j.appender.app.MaxFileSize=10MB
    log4j.appender.app.MaxBackupIndex=10
    #
      

  2.   

    不好意思,以下是正确的:
    #log4j.rootCategory=DEBUG, console, database
    log4j.rootCategory=DEBUG, console, databaselog4j.category.app=DEBUG, console, application
    log4j.additivity.app=false#
    #
    log4j.appender.console=org.apache.log4j.ConsoleAppender
    log4j.appender.console.layout=org.apache.log4j.PatternLayout
    log4j.appender.console.layout.ConversionPattern=%d{ISO8601}:%6r:%p:%m%n#
    #
    log4j.appender.database=org.apache.log4j.RollingFileAppender
    log4j.appender.database.layout=org.apache.log4j.PatternLayout
    #log4j.appender.database.layout.ConversionPattern=%d{ISO8601}:%r:%p:%m:%c:%t:%l%n
    log4j.appender.database.layout.ConversionPattern=%d{ISO8601}:%6r:%6p:%m:%c:%t:%l%n
    log4j.appender.database.File=D:/database.log
    log4j.appender.database.MaxFileSize=10MB
    log4j.appender.database.MaxBackupIndex=10
    #
    #
    log4j.appender.application=org.apache.log4j.RollingFileAppender
    log4j.appender.application.layout=org.apache.log4j.PatternLayout
    #log4j.appender.application.layout.ConversionPattern=%d{ISO8601}:%r:%p:%m:%c:%t:%l%n
    log4j.appender.application.layout.ConversionPattern=%d{ISO8601}:%6r:%6p:%m:%c:%t:%l%n
    log4j.appender.application.File=D:/application.log
    log4j.appender.application.MaxFileSize=10MB
    log4j.appender.application.MaxBackupIndex=10
    #
      

  3.   

    这位大哥,不错,我也是这么配置的,关键是如何在Log类中完成这个操作.
             public void init() throws ServletException
    {
    /*设定日志配置文件*/
    String prefix = getServletContext().getRealPath( "/" );
    String file = getInitParameter( "log4j-init-file" );
    file = prefix + file; if( file != null && !"".equals( file ) )
    {
    PropertyConfigurator.configure( file );
    }
    logger = Logger.getRootLogger();

    System.out.println( "Web Logger has been initializationed." );

    dbLogger = Logger.getLogger("DB");

    dbLogger.addAppender(dbLogger.getAppender("DB"));
    }......
      

  4.   

    我可以通过Logger.getLogger()获得log,以写入到application.log文件中.
    但我怎样写代码可以写入日志到database.log中呢.谢谢!!!!!!!!!!
      

  5.   

    设置日志配置文件:
    File logConfig = new File(System.getProperty"config/log.properties");实例化一个log对象:
    private static Logger log = LogFactory.getLog(//这里写你的类.class);
      

  6.   

    这怎么行呢.一个LOG对象它会输出到哪里?又怎样只输出到database.log文件中.
      

  7.   

    log4j.rootCategory=DEBUG, console, databaselog4j.category.app=DEBUG, console, application
    is ok!