0

我用 Java 创建了一个简单的应用程序,它在 Coherence 服务器中运行。我在我的代码中使用 log4j,当我在服务器中部署它时,我想要两个日志文件。

第一个日志文件将包含我的代码中的所有日志消息。第二个长文件将包含所有与服务器相关的信息(服务器已启动、操作正在进行和 coherence 服务器已停止)

我有 2 个不同的属性文件,在我的 tangosol-coherence-override.xml 的标签下

<logging-config>
<destination>log4j</destination>
<severity-level>3</severity-level>
<message-format>{date} Oracle Coherence {version} {level} (thread=null, member={member}): {text} </message-format>
<character-limit>10000</character-limit>
</logging-config>

我的客户端日志的 log4j 属性文件是

[coherence@coherence01 config]$ cat log4j.properties
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE

# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${user.home}/log/cachelog.log

log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{DATE} [%t] %5p %c{1}:%L - %m%n

服务器日志是

[coherence@coherence01 addons]$ cat log4j.properties
log4j.logger.Coherence=INFO, file

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%m%n

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/home/coherence/log/coherence-${pid}.log
log4j.appender.file.threshold=DEBUG
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=5
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%m%n

如何分离日志?

4

1 回答 1

0

您可以尝试以下方法

    log4j.category.com.first.log=debug, A1
    log4j.category.com.second.log=debug, A2

    log4j.appender.A1=org.apache.log4j.RollingFileAppender
    log4j.appender.A1.File=${log4j.file.home}/first.log
    log4j.appender.A1.MaxFileSize=10000KB
    log4j.appender.A1.MaxBackupIndex=10
    log4j.appender.A1.layout=org.apache.log4j.PatternLayout
    log4j.appender.A1.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS} - %m%n 

    log4j.appender.A2=org.apache.log4j.RollingFileAppender
    log4j.appender.A2.File=${log4j.file.home}/second.log
    log4j.appender.A2.MaxFileSize=10000KB
    log4j.appender.A2.MaxBackupIndex=10
    log4j.appender.A2.layout=org.apache.log4j.PatternLayout
    log4j.appender.A2.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS} - %m%n

    // In Java use the logger as below
    private static Logger  firstLogger  = Logger.getLogger("com.first.log");
    private static Logger  secondLogger  = Logger.getLogger("com.second.log");
于 2013-03-22T05:25:14.110 回答