- 浏览: 2731103 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1313)
- JS (65)
- CSS (6)
- html (30)
- dweamweaver工具相关 (2)
- Spry (1)
- DB (103)
- p2p (1)
- java (405)
- .net (3)
- oracle (24)
- struts (18)
- myeclipse (15)
- linux (49)
- SQL SERVER2008 (101)
- jsp (21)
- resume (1)
- other (1)
- ajax (3)
- 云计算 (2)
- excel (32)
- vss (1)
- 警戒 (1)
- eclipse (21)
- c (1)
- dialog designer (7)
- axis1.4 (4)
- webservice (11)
- CTI (1)
- svn (8)
- spring (27)
- tomcat (13)
- log4j (14)
- 网络应用 (7)
- mysql (59)
- bat (4)
- jdbc (1)
- 正式表达式 (1)
- hibernate (27)
- iphone (2)
- 系统应用 (107)
- servlet (3)
- vmware (2)
- php (12)
- JQuery (30)
- avaya (5)
- postgresql (19)
- java面试 (1)
- rose (1)
- Socket (1)
- xml (2)
- PowerDesign (3)
- visio (1)
- jstl (4)
- informix (2)
- assemble (2)
- English Study (2)
- IOS (9)
- CMMI (1)
- outlook (4)
- poi (1)
- hadoop (5)
- SAE (3)
- jor (1)
- jquery mobile (1)
- git (11)
- mina (1)
- ibatis (2)
- wordpress (2)
- 支付宝 (1)
- struts2 (14)
- apns (1)
- html5 (1)
- xampp (2)
- uml (2)
- 项目管理 (1)
- 敏捷开发 (1)
- 设计模式 (2)
- spark (1)
- maven (9)
- 微信公众平台 (1)
- json (2)
- junit (1)
- quartz (2)
- redis (2)
- memcache (1)
- android (3)
- 红杏 (1)
- postman (1)
- mybatis (5)
- iplat4j (1)
- windows (1)
- logback (1)
- Netty (1)
- wiki (1)
- dubbo (1)
- sonar (2)
- jenkins (2)
- mac (10)
- office (4)
- groovy (1)
- intellij (6)
- zookeeper (2)
- 诛仙 (1)
- MQ (2)
- docker (1)
- 2222 (0)
最新评论
-
代码改变生活:
虽然代码敲的头疼的要命,但是依然要感谢你,感谢您共享!!!!开 ...
jxl读取excel日期相差8小时 -
www3837:
org.slf4j.Logger 下载 -
hyztty:
wait_timeout = 86400 interacti ...
druid连接池 -
niaodanwangzi:
连接池可不是给你检测连接状态用的。是为了连接复用,减少连接数。 ...
druid连接池 -
supermine0903:
学习了 啦啦啦
多个路由器同时上网
据我目前的功力,也就是只能分2个不同的地方,且这2个地方互不干扰,相互独立。
如果这2者是相互重复的,那么这个就太容易了啊。直接设多个appender,然后file后面的地址写不一样就行了。
但是要考虑到,它们受level的影响,指定某个级别的level以上的level全是输出的。
下面将举个例子,利用的就是logger 和 root的区别!
完整的log4j.xml配置如下:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration> <appender name="DebugAppender" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="D:/UA/UADebugLogs/debug.log"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{ISO8601}|%-5p|%c|%t|%m%n"/> </layout> </appender> <appender name="InfoAppender" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="D:/UA/UACognosLogs/result.log"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{ISO8601}|%-5p|%c|%t|%m%n"/> </layout> </appender> <!-- These are the possible log levels - debug | info | warn | error | fatal --> <!-- client --> <logger name="result" additivity="false"> <level value ="info"/> <appender-ref ref="InfoAppender"/> </logger> <root> <priority value="debug"/> <appender-ref ref="DebugAppender"/> </root> </log4j:configuration>
解释如下:1、root设的是全局的level,然后logger那段是要继承root的设置的,然而在我们这我们不想继续它,将additivity设为false即可。
2、对于file=地址,这里的地址可以用相对地址,不过在打包成jar后一般都不认识了。我暂时还没找到完美的方法,只能傻傻的用绝对路径,即D:/UA/UADebugLogs/debug.log。或者D:\\UA\\UADebugLogs\\debug.log。
3、对于DailyRollingFileAppender而言,当天的日志文件是不会加上日期的,只有昨天以前的文件前面才会加上日期。这一点请注意。
4、对于Logger的name的更深的理解:
private Logger logger=Logger.getLogger("result") 和 private Logger logger=Logger.getLogger(UACognos.class.getName())
一般我们都习惯用第2种方法,然后在log4j的输出文件中写的就是这个类的名字。而且这样写就意味必须继承root的设置。如果你不想继承root的话,那么就得像第一种写法一样,用指定的特殊的logger。
关于2、3两点,其实都可以写一博文来解释。会在csdn上写的。
refurl:1、http://ankyhe.iteye.com/blog/1143927
2、http://willow-na.iteye.com/blog/347340
3、http://zhangxiang390.iteye.com/blog/258455
发表评论
-
普通类和线程类的区别
2017-02-18 21:44 1244假设一个类是SubThread,它的init( ... -
最近一些心得
2017-02-08 16:01 8891、Mac starUML在导出png图片时,不要用s ... -
druid连接池
2016-09-14 16:00 5177环境:Ubuntu+Mysql5.5 近期一直报 ... -
罕见问题记录
2016-08-24 17:56 9151、如果提示对catalina.out无权限。 此时 ... -
Java Security
2016-08-24 17:50 952背景: 公司有某些场景需要向第三方提供服务, ... -
kafka java demo
2016-07-10 20:51 6756环境:ubuntu10 2台(32位)+JDK1.8(32 ... -
autowired resource component
2016-05-11 15:23 941背景:同样的bean类型有2个。 尝试用autowire ... -
eclipse 部署spring源码经验之谈
2016-05-08 23:41 16991、junit加载applicationCont ... -
main函数中如何实例化内部类
2016-04-30 22:50 1201需要先new一个父类的对象,然后用父类对象.new 内 ... -
java synchronized 串行
2016-04-30 22:42 1189背景:大家都知道用synchronized来实现加锁 ... -
观察者 Listener是什么意思
2016-02-26 10:40 940从观察者设计模式来看,Listener翻译成中文就是 ... -
UTF-8和Unicode的关系
2016-02-25 16:34 978utf-8只实际了unicode的第一个plane ... -
dubbo
2016-02-18 15:48 7681、配置dubbo.xml,主要是连接到dubbo服务 ... -
datetime格式化
2016-02-18 11:25 837org.joda.DateTime格式化成特定的Str ... -
Java接口中的成员变量为什么必须是public static final?
2016-01-10 16:20 1375必须是final的,否则多个类全继承他后,每个人都改, ... -
抽象类能不能有构造函数
2016-01-10 16:06 1032可以有,但是不能用,即不能new。 refur ... -
workspace workset设置
2016-01-10 15:51 1226背景:当eclipse里面的项目太多时,看上去非常凌 ... -
eclipse一直building workspace
2015-12-10 19:37 804我这里的原因很特殊,是因为在配置spring d ... -
序列化和反序列化
2015-12-10 19:19 920说白了,序列化后 ... -
java.net.bindexception cannot assign requested address jvm_bind
2015-12-10 19:14 1395我的原因是hosts文件中关于127.0.0.1有2个 ...
相关推荐
2. 配置Log4j:创建log4j.properties或log4j.xml配置文件,指定日志级别、输出目的地、格式等。 3. 使用SLF4J API:在代码中通过LoggerFactory获取Logger实例,然后调用相应的方法记录日志。 五、最佳实践 1. **...
使用这些组件时,开发者需要在项目中配置log4j的配置文件(通常是`log4j.properties`或`log4j.xml`),定义日志输出的级别、格式、目的地等。SLF4J API的使用则是在代码中引入相应的依赖,并通过SLF4J的...
3. **Appenders**:Appenders是Log4j的核心组件之一,负责将日志消息输出到不同的目的地,如控制台、文件、网络、电子邮件等。 4. **Layouts**:Layouts决定了日志事件的格式,如简单的文本格式、XML或JSON,以便于...
配置Log4j通常通过一个XML或JSON格式的配置文件完成,例如`log4j2.xml`或`log4j2.json`,这个文件定义了日志的输出级别、目的地(如控制台、文件、数据库等)以及格式。 总的来说,Log4j 2是Java开发中不可或缺的...
例如,`org.apache.logging.log4j.core.appender.ConsoleAppender`用于将日志输出到控制台,而`org.apache.logging.log4j.core.layout.PatternLayout`则可以按照自定义的模式格式化日志信息。 Log4j2的亮点之一是其...
《深入理解Log4j 2.15.0-rc2:日志处理的关键技术解析》 Log4j,作为Java领域广泛使用的日志记录框架,一直以来都是开发者们的重要工具。这次我们关注的是其最新版本——logging-log4j2-log4j-2.15.0-rc2。这个版本...
6. **配置灵活性**:Log4j的配置可以通过XML、JSON、YAML或纯Java代码进行,方便调整和适应不同环境。 7. **安全性**:Log4j 2.17.0修复了一个名为CVE-2021-44228的重大安全漏洞,该漏洞允许攻击者通过控制日志输入...
使用这两个库时,通常需要一个配置文件(如`log4j2.xml`或`log4j2.json`)来定义日志行为,包括日志输出级别(如DEBUG、INFO、WARN、ERROR)、输出目的地(控制台、文件、数据库等)、以及布局格式(如PatternLayout...
总的来说,Apache Log4j 2.14.0是一个强大的日志工具,它提供了丰富的配置选项,能够满足不同项目的需求。与Spring 5的结合使得在现代Java应用中集成日志变得简单高效。正确配置和使用Log4j 2,可以帮助开发者更好地...
2. 配置Log4j2:Spring Boot默认使用`src/main/resources/log4j2.xml`或`log4j2.json`作为Log4j2的配置文件。你可以根据需求自定义日志级别、输出格式、输出位置等。 四、Log4j2配置详解 1. 日志级别:Log4j2支持...
2. **配置 Log4j**:创建一个 `log4j.properties` 或 `log4j.xml` 配置文件,定义日志级别、输出目的地、格式等。 3. **避免日志冲突**:确保项目中没有其他日志库(如 log4j、java.util.logging)的直接引用,以免...
SLF4J的配置主要是通过Log4j的配置文件(通常是`log4j.properties`或`log4j.xml`)来完成的。这个配置文件定义了日志记录的行为,包括日志级别(DEBUG, INFO, WARN, ERROR, FATAL等)、输出目的地(控制台、文件、...
**commons-logging.jar** 是Apache Commons项目的一部分,它提供了一个抽象层,允许应用程序使用多种不同的日志框架,如log4j、Java内置的日志API(java.util.logging)、或者其他的日志实现。这个库的核心理念是...
Log4j的核心优势在于其灵活性和可配置性,它允许开发者自定义日志级别(如DEBUG、INFO、WARN、ERROR、FATAL),并且可以选择不同的输出目的地,例如控制台、文件、网络、数据库等。此外,通过配置文件(通常为`log4j...
*灵活的配置:Log4j2 提供了非常灵活的配置机制,可以根据需要定义不同的日志级别、输出格式和文件名等属性。 *高性能:Log4j2具有非常高的性能,可以handle大量的日志信息。 *灵活的appender:Log4j2 提供了多种...
在使用`slf4j-log4j12-1.6.6.jar`时,开发者首先会通过SLF4J API在代码中记录日志,然后在运行环境中通过配置文件(如log4j.properties或log4j.xml)指定日志输出的策略。例如,开发者可以设置日志级别,控制哪些...
`log4j`的核心特性包括配置灵活性(通过XML或properties文件)、多种日志级别(如DEBUG、INFO、WARN、ERROR和FATAL)、以及支持多种输出格式(如控制台、文件、数据库等)。开发者可以通过简单的API调用来控制日志...
Commons Logging 是 Apache 的一个通用日志接口,它提供了一个简单的API,使得开发者能够在不关心具体日志实现的情况下,切换不同的日志框架,如Log4j、Java内置的日志系统等。Commons Logging 1.2 版本的特点有: ...
4. **配置文件**:Log4j 的行为可以通过配置文件(通常是`log4j2.xml`或`log4j2.json`)进行定制。配置文件可以定义日志级别(如TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF),日志输出目的地(控制台、文件、...
3. 配置Log4j:在项目中,你需要提供一个`log4j.properties`或`log4j.xml`配置文件,定义日志输出的级别(如DEBUG、INFO、WARN、ERROR等)、格式和目标(如控制台、文件、邮件等)。 4. 使用SLF4J API:在你的代码...