当前位置: 首页 > 知识库问答 >
问题:

如何在unix环境中使用log4j2文件追加器功能

师承弼
2023-03-14

我是unix新手。我有下面的log4j2配置文件。当我在unix环境中使用此文件时,文件应用程序。未创建日志。有人能告诉我如何在unix环境中将日志重定向到文件吗

    <?xml version="1.0" encoding="UTF-8"?>
     <Configuration status="WARN">
        <Appenders>
             <Console name="CONSOLE" target="SYSTEM_OUT">
                <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} %method - %msg%n" />
            </Console>

            <File name="file" fileName="C:\Users\ppatrana\Desktop\app.log">

                    <!-- <Pattern>%d %p %c{1.} [%t] %m %ex%n</Pattern> -->
                    <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} %method -    %msg%n" />
            </File>
        </Appenders>
        <Loggers>
            <Root level="trace">
                <AppenderRef ref="CONSOLE" />
            </Root>
            <Root level="trace">
                <AppenderRef ref="file" />
            </Root>
         </Loggers>
    </Configuration>

共有2个答案

包和泰
2023-03-14

我认为你真正的问题是你有两个根记录器。请尝试以下操作:

    <Loggers>
        <Root level="trace">
            <AppenderRef ref="CONSOLE" />
            <AppenderRef ref="file" />
        </Root>
    </Loggers>

您还需要修复@ToYonos提到的文件名。

谭煜
2023-03-14

您必须更改文件名:

<File name="file" fileName="/tmp/app.log"> 

更多关于linux文件系统:http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

 类似资料:
  • 在log4j.xml中追加内容: 如何在java中获取这些参数,并像在log4j2中的上述配置一样创建多文件追加器?请帮帮忙。多谢了。

  • 类似地,我们如何在log4j2中创建自定义的appender,因为我们没有AppenderSkelton类要扩展,而所有其他appender都扩展AppenderBase类。

  • 当我用它以以下错误停止: 我不是舒尔,但似乎。env文件不支持变量的使用。

  • 问题内容: 我有一个配置文件。和我需要它来存储日志提供文件路径。问题是我的代码将作为可运行的jar部署在Unix机器上。因此,如果我传递类似这样的参数: 它会在我的HOME目录中创建一个名为logs的文件夹,并将所有消息写入该目录中的文件。 我将环境变量设置为某个值。我想使用该变量的路径并在该路径下写入消息。我该如何实现? 我试过使用此: 但这不起作用。谁能为这个问题提出解决方案? 问题答案: 解

  • 使用log4j2,我想替换日志消息中的一些字符串(比如用bar替换foo)。在xml配置中,我可以使用以下配置,它可以正常工作。 但我不得不在项目中使用属性文件,而不是使用XML,所以我尝试了以下方法 我得到了这样的错误: 如何在属性文件和log4j2中表示replace,是否可以将xml配置中的所有内容转换为属性配置?我使用的是log4j-api-2.14.0。jar和log4j-core-2.