首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >logback.xml中的文件和标准输出附加器

logback.xml中的文件和标准输出附加器
EN

Stack Overflow用户
提问于 2013-03-01 00:43:18
回答 2查看 57.5K关注 0票数 36

我在不同的项目中有2个logback.xml文件。一个使用FileAppender将JDBC SQL记录到文件中,另一个使用ConsoleAppender将错误记录到标准输出中。

下面是我为每个人准备的logback.xml文件。

文件日志记录

代码语言:javascript
复制
<configuration>
    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>${user.home}/database.log</file>
        <append>false</append>
        <encoder>
            <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern>
        </encoder>
    </appender>

    <logger name="jdbc" level="OFF" />
    <logger name="jdbc.sqlonly" level="debug" />

    <root level="info">
        <appender-ref ref="FILE" />
    </root>
</configuration>

控制台日志记录

代码语言:javascript
复制
<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern>
        </encoder>
    </appender>

    <logger name="jdbc" level="OFF" />

    <root level="ERROR">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

我正在合并这两个项目,我希望能够继续将信息级SQL记录到文件中,并将错误记录到STDOUT中。

我已经将两个附加器添加到logback.xml中,但我不确定如何处理新logback.xml中的记录器和根标记。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-01 09:56:17

试试这个:

代码语言:javascript
复制
    <configuration>
        <appender name="FILE" class="ch.qos.logback.core.FileAppender">
            <file>${user.home}/database.log</file>
            <append>false</append>
            <encoder>
                <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern>
            </encoder>
        </appender>

        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern>
            </encoder>
        </appender>


        <logger name="jdbc" level="OFF" />
        <logger name="jdbc.sqlonly" level="INFO" additivity="false">
            <appender-ref ref="FILE" />
        </logger>

        <root level="ERROR">
            <appender-ref ref="STDOUT" />
        </root>
    </configuration>
票数 36
EN

Stack Overflow用户

发布于 2014-02-13 02:03:36

如果您希望在文件控制台中查看输出,请使用两个附加器引用,如下所示:

代码语言:javascript
复制
 <configuration>
    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>${user.home}/database.log</file>
        <append>false</append>
        <encoder>
            <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern>
        </encoder>
    </appender>


    <logger name="jdbc" level="OFF" />
    <logger name="jdbc.sqlonly" level="INFO" additivity="false">
        <appender-ref ref="FILE" />
    </logger>

    <root level="ERROR">
        <appender-ref ref="STDOUT" /> <!-- Every log will apear on screen log -->
        <appender-ref ref="FILE" />   <!-- Every log will apear on file -->
    </root>
</configuration>
票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15140935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档