当前位置: 首页 > 面试题库 >

logback.xml中的文件和stdout附加程序

孟树
2023-03-14
问题内容

logback.xml在单独的项目中有2个文件。一个使用FileAppender将JDBC
SQL记录到文件中,另一个使用ConsoleAppender将错误记录到stdout中。

这是我的每个logback.xml文件。

文件记录

<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>

控制台记录

<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但是我不确定该如何处理记录器和new中的root标记logback.xml


问题答案:

试试这个:

    <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>


 类似资料:
  • 我在单独的项目中有2个文件。一个使用FileAppender将JDBC SQL记录到文件中,另一个使用ConsoleAppender将错误记录到stdout中。 下面是我对每个文件的logback.xml文件。 我已经向添加了这两个附加项,但我不确定如何处理新的中的记录器和根标记。

  • 我的grails应用程序中有一个配置错误,导致我的附加程序将输出发送到错误的地方,或者根本不发送。似乎有许多关于重复日志记录的问题,但我无法对我的情况应用任何答案。 下面是我的日志配置片段: 当我的程序运行时,输出将出现在、和中。直接发送到stdout的输出(绕过log4j)出现在catalina.out中 如果我设置 那么任何文件appender都不会被记录,但是stdout仍然会进入catal

  • 问题内容: 要将 stdout 重定向到Bash中的截断文件,我知道使用: 为了重定向Bash中的 stdout ,将其附加到文件中,我知道要使用: 要将 stdout 和 stderr 都重定向到截断的文件,我知道使用: 如何将 stdout 和 stderr 都重定向到文件?没有为我工作。 问题答案: Bash执行从左到右的重定向,如下所示: :以追加模式打开并在那里重定向。 :重定向到 “当

  • 问题内容: 因此,我可以像这样从本地文件中读取: 而且我可以写入本地文件 但是,如何追加文件?有内置方法吗? 问题答案: 此答案在Go1中有效:

  • 问题内容: 我想记录stdout和stderr来记录文件,这就是我尝试过的方法。 然后,我想将控制台输出记录在文件中。如 我能做什么? 问题答案: 你提到的不是来自flask的记录器的日志消息中,来自 的记录,你还需要你的处理程序添加到该记录器实例手段,使其工作,如: 如果你查看werkzeug如何初始化其记录器,则将看到只有在尚未设置日志记录的情况下,它才会添加默认处理程序。这意味着,如果你在w

  • 问题内容: 我有一个json文件,employees.json,我想将数据附加到此对象。该文件如下所示: 我想补充一下: 名字:迈克 lastName:Rut 时间:上午10:00 电子邮件:rut@bah.com 电话:800-888-8888 图片:images / mike.jpg 到employee.json。 我将如何完成? 问题答案: