您好,匿名用户
随意问技术百科期待您的加入

怎么把特定日志写到特定文件里(log4j)

0 投票

我想把用户登录的记录信息写入日志文件里,
怎么配置log4j.xml才能把它写入到一个单独文件里,
而其他的同级别的日志不会写到这个文件里呢?

有个想法是把把记录信息当做INFO级别写入日志,
其他日志信息都不用都不用INFO级别。
还有更更好的方法吗?!

log4j版本:1.2.14

用户头像 提问 2013年 10月28日 @ Redis 上等兵 (114 威望)
分享到:

1个回答

0 投票
 
最佳答案

单独配一个appender,用来指定log登录日志。然后将指定的登录日志指向这个appender,并将其日志级别限制为info即可。大概的配置文件差不多就是这样,具体的根据自己的需要再查看文档。

<appender name="PROJECT" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="file" value="/logs/dir/file.log"/>
        <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
        <param name="append" value="true"/>
        <param name="encoding" value="UTF-8"/>
        <param name="threshold" value="info"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%n%d [%X{loginUserNick}@%X{remoteAddr} - %X{method} %X{requestURIWithQueryString}] %nUserAgent: %X{userAgent}%nReferrer: %X{referrer}%n%-5p %c{2} - %m%n"/>
        </layout>
    </appender>

<logger name="xxx.xxx.package" additivity="false">
        <level value="info"/>
        <appender-ref ref="PROJECT"/>
    </logger>

ps:个人建议以后这类的问题,还是先看文档,文档中都有详细的例子和说明。否则我虽然给你答案了,但是对于具体的原理你可能还是不太清楚...

用户头像 回复 2013年 10月25日 @ Soraka 上等兵 (319 威望)
选中 2013年 9月7日 @Redis
提一个问题:

相关问题

0 投票
1 回复 37 阅读
0 投票
1 回复 47 阅读
用户头像 提问 2012年 12月1日 @ Lux 上等兵 (267 威望)
0 投票
1 回复 34 阅读
0 投票
1 回复 41 阅读
用户头像 提问 2012年 12月1日 @ Ezreal 上等兵 (266 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...