简体   繁体   English

在UNIX环境中如何使用log4j2文件附加器功能

[英]How to use log4j2 file appender feature in unix environment

I am new to unix. 我是unix的新手。 I have below log4j2 config file. 我有下面的log4j2配置文件。 When I use this file in unix environment, the file app.log is not created. 当我在Unix环境中使用此文件时,未创建文件app.log。 Could any one tell me how to redirect the logs to file in unix environment 谁能告诉我如何在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>

You have to change the filename : 您必须更改文件名:

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

More about linux filesystem : http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard 有关linux文件系统的更多信息: http : //en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

I think your real problem is that you have two root loggers. 我认为您的真正问题是您有两个根记录器。 Try the following instead: 请尝试以下操作:

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

You also need to fix the filename as mentioned by @ToYonos. 您还需要按@ToYonos所述修复文件名。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM