4

我有 2 个课程,LogonPolicyServer 和 SCE。我需要从 LogonPolicyServer 到第一个文件 (firstFile.log) 的日志信息、从 SCE 到第一个文件的日志信息、从 SCE 到第二个文件 (secondFile.log) 的日志错误以及从 SCE 类到控制台的打印信息和错误,但是当我尝试这样做,来自 LogonPolicyServer 的信息也会打印到控制台。我的 log4j.properties:

    log4j.rootLogger=INFO,控制台

    log4j.appender.console = org.apache.log4j.ConsoleAppender
    log4j.appender.console.target=System.out
    log4j.appender.console.layout = org.apache.log4j.PatternLayout
    log4j.appender.console.layout.ConversionPattern = %d{[dd.MM.yyyy] [HH:mm:ss]} %p [%t] %c (%F:%L) - %m%n

    log4j.logger.infoNTS=调试,文件
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    log4j.appender.file.file=log/spider.cisco.log
    log4j.appender.file.MaxFileSize=1GB
    log4j.appender.file.MaxBackupIndex=10
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.conversionPattern=%d{[dd.MM.yyyy] [HH:mm:ss]} %p [%t] %c (%F:%L) - %m%n

    log4j.logger.errorlog=错误,错误文件
    log4j.appender.errorFile=org.apache.log4j.RollingFileAppender
    log4j.appender.errorFile.file=log/error.spider.cisco.log
    log4j.appender.errorFile.MaxFileSize=1GB
    log4j.appender.errorFile.MaxBackupIndex=10
    log4j.appender.errorFile.layout=org.apache.log4j.PatternLayout
    log4j.appender.errorFile.layout.conversionPattern=%d{[dd.MM.yyyy] [HH:mm:ss]} %p [%t] %c (%F:%L) - %m%n
    log4j.appender.errorFile.Threshold=错误

在 LogonPolicyServer 我会尝试:

    private static final Logger log = Logger.getLogger("infoNTS");

    //连接记录器

然后打印信息:


    log.debug("记录 "+i+":"+record.name+" "+res.getString(3)+" "+res.getString(4));

SCE:

    private static final Logger log = Logger.getLogger("infoNTS");
    private static final Logger errorLog = Logger.getLogger("errorlog");

然后打印:

    尝试{
     api.synchronizePushStart(resultHandler);
     log.info("SCE启动同步:"+sceIP+"启动成功");
    }catch(异常 e){
     errorLog.error("SCE启动同步:"+sceIP+"失败!", e);
    }

怎么了?UPD:最新的 log4j.properties

    log4j.rootLogger=致命,控制台

    log4j.appender.console = org.apache.log4j.ConsoleAppender
    log4j.appender.console.target=System.out
    log4j.appender.console.layout = org.apache.log4j.PatternLayout
    log4j.appender.console.layout.ConversionPattern = %d{[dd.MM.yyyy] [HH:mm:ss]} %p [%t] %c (%F:%L) - %m%n

    log4j.logger.infoNTS=调试,文件
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    log4j.appender.file.file=log/spider.cisco.log
    log4j.appender.file.MaxFileSize=1GB
    log4j.appender.file.MaxBackupIndex=10
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.conversionPattern=%d{[dd.MM.yyyy] [HH:mm:ss]} %p [%t] %c (%F:%L) - %m%n

    log4j.logger.errorlog=错误,错误文件
    log4j.appender.errorFile=org.apache.log4j.RollingFileAppender
    log4j.appender.errorFile.file=log/error.spider.cisco.log
    log4j.appender.errorFile.MaxFileSize=1GB
    log4j.appender.errorFile.MaxBackupIndex=10
    log4j.appender.errorFile.layout=org.apache.log4j.PatternLayout
    log4j.appender.errorFile.layout.conversionPattern=%d{[dd.MM.yyyy] [HH:mm:ss]} %p [%t] %c (%F:%L) - %m%n
    log4j.appender.errorFile.Threshold=错误


UPD2:这有助于:


    log4j.rootLogger=OFF, 致命文件
    log4j.appender.fatalFile=org.apache.log4j.RollingFileAppender
    log4j.appender.fatalFile.file=log/fatal.log
    log4j.appender.fatalFile.MaxFileSize=10MB
    log4j.appender.fatalFile.MaxBackupIndex=10
    log4j.appender.fatalFile.layout=org.apache.log4j.PatternLayout
    log4j.appender.fatalFile.layout.conversionPattern=%d{[dd.MM.yyyy] [HH:mm:ss]} %p [%t] %c (%F:%L) - %m%n

    log4j.logger.infoNTScopy=调试,文件
    log4j.logger.infoNTS=调试、文件、控制台
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    log4j.appender.file.file=log/spider.cisco.log
    log4j.appender.file.MaxFileSize=1GB
    log4j.appender.file.MaxBackupIndex=10
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.conversionPattern=%d{[dd.MM.yyyy] [HH:mm:ss]} %p [%t] %c (%F:%L) - %m%n


    log4j.logger.errorlog=错误、错误文件、控制台
    log4j.appender.errorFile=org.apache.log4j.RollingFileAppender
    log4j.appender.errorFile.file=log/error.spider.cisco.log
    log4j.appender.errorFile.MaxFileSize=1GB
    log4j.appender.errorFile.MaxBackupIndex=10
    log4j.appender.errorFile.layout=org.apache.log4j.PatternLayout
    log4j.appender.errorFile.layout.conversionPattern=%d{[dd.MM.yyyy] [HH:mm:ss]} %p [%t] %c (%F:%L) - %m%n
    log4j.appender.errorFile.Threshold=错误


    log4j.appender.console = org.apache.log4j.ConsoleAppender
    log4j.appender.console.target=System.out
    log4j.appender.console.layout = org.apache.log4j.PatternLayout
    log4j.appender.console.layout.ConversionPattern = %d{[dd.MM.yyyy] [HH:mm:ss]} %p [%t] %c (%F:%L) - %m%n

在 LogonPolicyServer 中:

    private static final Logger log = Logger.getLogger("infoNTScopy");

但现在我需要禁用/删除根记录器。

4

1 回答 1

1

尝试将根记录器分配为FATAL并将日志转移到一个虚拟文件:

    log4j.rootLogger=FATAL, fatalFile
    log4j.appender.fatalFile=org.apache.log4j.RollingFileAppender
    log4j.appender.fatalFile.file=log/fatal.log
    log4j.appender.fatalFile.MaxFileSize=10MB
    log4j.appender.fatalFile.MaxBackupIndex=10
    log4j.appender.fatalFile.layout=org.apache.log4j.PatternLayout
    log4j.appender.fatalFile.layout.conversionPattern=%d{[dd.MM.yyyy] [HH:mm:ss]} %p [%t] %c (%F:%L) - %m%n

并添加console appenderlog4j.logger.infoNTS

log4j.logger.infoNTS=DEBUG, file, nConsole
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.file=log/spider.cisco.log
log4j.appender.file.MaxFileSize=1GB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.conversionPattern=%d{[dd.MM.yyyy] [HH:mm:ss]} %p [%t] %c (%F:%L) - %m%n

log4j.appender.nConsole= org.apache.log4j.ConsoleAppender
log4j.appender.nConsole.target=System.out
log4j.appender.nConsole.layout = org.apache.log4j.PatternLayout
log4j.appender.nConsole.layout.ConversionPattern = %d{[dd.MM.yyyy] [HH:mm:ss]} %p [%t] %c (%F:%L) - %m%n
于 2012-11-12T07:00:32.227 回答