log4j中怎样将信息写入到不同的日志文件

log4j中怎样将信息写入到不同的日志文件

有没有想过为什么我们用:Logger logger = Logger.getLogger(ABC.class) ;来得到 logger?

不想只看人家的 demo, demo 毕竟是 Hello World 级别的简单入门样例,我们需要知道 API 是如何描述它们的。

Logger.getLogger() 除非用类当参数外还有用字符串当参数的,意思就是说“你可以给你的 Logger 取任意的名字,不是非要使用类名”。

上面这句话是说你可以在log4j.properties 里面配置:

Log4j.appender.FileAppenderA.file = a.log...Log4j.appender.FileAppenderB.file = a.log...Log4j.appender.FileAppenderB.file = a.log...

Log4j.logger.MyABC1Logger = FileAppenderALog4j.logger.MyABC2Logger = FileAppenderBLog4j.logger.MyABC3Logger = info,FileAppenderA,FileAppenderB,FileAppenderC

代码中一个类可以得到多个 logger,然后你想使用哪个就是随你的便了。Logger loggerA = Logger.getLoger("MyABC1Logger ");Logger loggerB = Logger.getLoger("MyABC2Logger ");Logger loggerC = Logger.getLoger("MyABC3Logger ");

如果你选择了 logger C  的话,一次写入消息会同时出现在 3 个  appender 对应的日志文件中。
时间: 2024-10-11 03:20:42

log4j中怎样将信息写入到不同的日志文件的相关文章

logrotate切割日志后,新的日志还是写入到老的日志文件中

线上生产环境中,安装了dnsmasq,并记录日志.由于每一次dns查询都会生产日志,考虑到日志量越来越大,就用logrotate做日志轮转.配置如下: /var/log/dnsmasq/dnsmasq.log {         daily     //按天轮转日志         rotate 15 //保留15个log文件         compress  //压缩轮转后的文件         delaycompress          dateext         missingok

log4j指定包或类打到单独的日志文件的配置

根据日志定位问题的时候,如果所有的日志都打到一个日志文件里,查问题就很不直观了. 指定某个路径的包或类打到单独的日志文件的配置如下: <appender name="poll" class="org.apache.log4j.DailyRollingFileAppender"> <param name="encoding" value="UTF-8" /> <param name="Fi

【.net 深呼吸】写入日志文件

记录日志,一方面可以把日志写入系统的日志存储中,可在“事件查看器”窗口中查看:如果不喜欢写到系统的日志文件中,也可以写到自己定义的文件中. 其实,日志文件就是文本文件,可能有朋友会想到用写入文本文件的方式来写日志.当然,这样做也是可以的,不过,.NET 类型库提供了两个专用记录信息的类. Debug 类大家都很熟悉,就是可以在VS的“输出”窗口写入调试信息,另外,有一个跟Debug很像的类——Trace.Debug通常只会在调试版本中使用,Trace既可以在调试版本中用,也可以用于发布(Rele

log4j配置参数详解——按日志文件大小、日期切分日志文件

项目中尽管对log4j有基本的配置,例如按天生成日志文件以作区分,但如果系统日志文件过大,则就需要考虑以更小的单位切分或者其他切分方式.下面就总结一下log4j常用的配置参数以及切分日志的不同方式. 一.基本配置解析 常用配置1: [java] view plain copy #日志级别,还可以log4j.rootLogger=INFO,file2,file3 指定file2.3的输出文件 log4j.rootLogger=info,exception,thread #info #每一天产生1个

日志文件写入失败(permission denied)

用过Laravel的小伙伴一开始安装完框架后可能都遇到过daily 日志文件写入失败的问题,接下来我们就来详细说下日志文件写入失败的原因以及对应的解决方案. 在讲这个问题之前可能需要简单介绍下Linux系统下的文件的Ownership和Permission. Ownership User User是文件的所有者,默认情况下,用户创建了一个文件,该文件的所有者就是该用户. Group 一个用户组能包含多个用户,所有属于这个组的用户都有相同的权限来访问文件.假设你有一个项目,很多用户都需要访问这个项

log4j日志输出到日志文件中和控制台中 +log4j配置详解

1.引入log4j的jar包 https://mvnrepository.com/,可以找到log4j的jar和依赖. 2.创建log4j.properties,并配置log4j #设置日志的级别 ,多个以,分开(没有给出的,则不会被输出) log4j.rootLogger=debug,A,R # log4j.appender.logfile.encoding=UTF-8 #DailyRollingFileAppender每天产生一个日志文件 log4j.appender.R=org.apach

Lucene4.6 把时间信息写入倒排索引的Offset偏移量中,并实现按时间位置查询

有个新的技术需求,需要对Lucene4.x的源码进行扩展,把如下的有时间位置的文本写入倒排索引,为此,我扩展了一个TimeTokenizer分词器,在这个分词器里将时间信息写入 偏移量Offset中.扩展了一个Filter,最后查询时通过filter把时间信息传进去过滤想要的时间范围之内的结果. Lucene倒排索引中分好的词有两个偏移量一个是按字符的偏移量(BeginOffset和EndOffset)另一个是以分词(Term)为一个单元的position,每增加一个词position加1,如果

第一个lucene程序,把一个信息写入到索引库中、根据关键词把对象从索引库中提取出来、lucene读写过程分析

新建一个Java Project :LunceneTest 准备lucene的jar包,要加入的jar包至少有: 1)lucene-core-3.1.0.jar     (核心包) 2) lucene-analyzers-3.1.0.jar    (分词器) 3) lucene-highlighter-3.1.0.jar    (高亮器) 4) lucene-memory-3.1.0.jar       (高亮器) 新建实体类:Article, 属性:id,title,content; gett

c#.NET中日志信息写入Windows日志中解决方案

1. 目的应用系统的开发和维护离不开日志系统,选择一个功能强大的日志系统解决方案是应用系统开发过程中很重要的一部分.在.net环境下的日志系统解决方案有许多种,log4net是其中的佼佼者.在Windows2000及以上操作系统中,有一个Windows日志系统,它包括应用程序(Application)事件日志.系统(System)日志和安全(Security)日志,事件日志也可以是自定义日志.在.net Framework中也提供了相应的类和接口来使用应用程序事件日志或者自定义事件日志.使用Wi