0

我有一个庞大的代码库,可以提供有关大学的信息请求。有一个基础框架代码,我们有一些单独的包,用于college1、college2等,

每当有关于大学 X 的某些信息的请求时,都会触发框架代码和大学特定代码。我想查看为 X 公司去一个地点和 Y 公司去一个地点的所有请求生成的日志。

如何使用 JUL 或 apache 的 logging.properties 文件来实现这一点?如何确保由 X 公司的通用框架库编写的日志到一个位置,而由 Y 公司的通用框架库编写的日志到另一个位置?

4

1 回答 1

0

我将有一个包含附加程序的 xml 文件,以指定哪些包进入哪些日志文件。

然后,您可以在应用程序入口点加载 xml 文件。以下是我在当前项目中使用的示例

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

<!-- appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
        <param name="Target" value="System.out" />
        <param name="threshold" value="error" />
        <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="[%t] %p %c - %m%n" />
        </layout>
    </appender>

    <appender name="codebaseXAppender" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="codebaseX.log" />
        <param name="MaxFileSize" value="10MB" />
        <param name="MaxBackupIndex" value="10"/>
        <layout class="org.apache.log4j.PatternLayout"> 
                <param name="ConversionPattern" value="[%t] %d %p %c - %m%n"/>
        </layout>
    </appender>

    <appender name="codebaseYAppender" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="codebaseY.log" />
        <param name="MaxFileSize" value="10MB" />
        <param name="MaxBackupIndex" value="10"/>
        <layout class="org.apache.log4j.PatternLayout"> 
                <param name="ConversionPattern" value="[%t] %d %p %c - %m%n"/>
        </layout>
    </appender>

    <!-- Root Logger -->
    <root>
        <priority value="error" />
        <appender-ref ref="console" />
    </root>

    <!-- Application logger -->
    <logger name="com.codebasePackageX" additivity="true">
        <level value="info" />
        <appender-ref ref="codebaseXAppender" />
    </logger>

    <!-- Application logger -->
    <logger name="com.codebasePackageY" additivity="true">
        <level value="info" />
        <appender-ref ref="codebaseYAppender" />
    </logger>

    </log4j:configuration>
于 2013-06-07T19:48:43.010 回答