- 浏览: 176070 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
Caelebs:
RMI及其调试(JDK1.6) -
walker2009:
...
svn如何使用import目录作为工作拷贝+我的svn学习笔记(转) -
ygsilence:
请问,怎么linux版本的xampp怎么整合现有tomcat, ...
[原创]xampp-tomcat- connector---- xampp 完美整合现有的tomcat [续] -
witcheryne:
zrong 写道skanion 写道VIMweejulius ...
svn + vim + ant + linux 竟然完全替代了eclipse -
zrong:
skanion 写道VIMweejulius 写道怎么重构用V ...
svn + vim + ant + linux 竟然完全替代了eclipse
java.util.logging.Logger
我们先来说下JDK1.4以后出现的java.util.logging日志记录。
说到日记记录我们当然会想到往那里存?以什么格式打印结果?
这2个问题对象的java类是Handler,和Formatter,然而日记记录还有一个功能就是等级划分。JDK中的日记记录分为7个等级,分别是
SEVERE (highest value)
WARNING
INFO
CONFIG
FINE
FINER
FINEST (lowest value)
为什么要定义等级呢,这是因为一个项目在不同的阶段需要测试不同的部分和对信息进行分级测试。Logger里有相对应的方法打印出不同等级的信息.如logger.info(“”);logger.fine();等
同时他里面还有addHandler(Handler handler) 添加Handler(常用的有ConsoleHandler)
但是通过在JAVA类里配置大大降低了灵活性。所以一般都用一个properties文件配置
handlers=java.util.logging.ConsoleHandler
.level=FINE
java.util.logging.ConsoleHandler.level=FINEST
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
maomao.level=FINEST
这个是一个最简单的例子.
其实我们在程序里直接用(下面代码)logger为什么能打印出信息呢,只是因为这时候他会去加载jre/lib/logging.properties.所以程序能运行。但是如果要用我们自己的properties文件配置就需要传如一个jvm参数。如-Djava.util.logging.config.file=myfile
Logger logger = Logger.getLogger("maomao.test");
logger.finest("The messsage is finest");
logger.finer("The message is finer");
logger.fine("The message is fine");
logger.config("The message is config");
logger.info("The message is info");
logger.warning("The message is warning");
logger.severe("The message severn");
apache-log4j
与jdk-logger不同的是log4j只定义了5个级别分别是debug,warn,info,error,fatal.
他下面常常用的类有
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
# org.apache.log4j.ConsoleAppender(控制台),
# org.apache.log4j.FileAppender(文件),
# org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
# org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
# org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
log4j.appender.Threshold=DEBUG
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
# org.apache.log4j.HTMLLayout(以HTML表格形式布局),
# org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
# org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
# org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
log4j.appender.CONSOLE.layout.ConversionPattern=-[%p]-[%l]- %m%n
# %m:产生的日志具体信息
# %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
# %r 输出自应用启动到输出该log信息耗费的毫秒数
# %c 输出所属的类目,通常就是所在类的全名
# %t 输出产生该日志事件的线程名
# %n 输出一个回车换行符,Windows平台为“ ”,Unix平台为“ ”
# %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
# %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
以上这些类其他书上和网上都很容易找到资料,现在我们只举例2个类的配置
# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG,A1
# A1 is set to be a ConsoleAppender
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r[%t]%-5p%c%x -%m%n
#org.apache.log4j.RollingFileAppender
#log4j.logger.com.apache.log4j.model=ERROR,A2
#log4j.appender.A2=org.apache.log4j.RollingFileAppender
#log4j.appender.A2.File=c\:\\maomao.txt
#log4j.appender.A2.MaxFileSize=1KB
#log4j.appender.A2.MaxBackupIndex=5
#log4j.appender.A2.layout=org.apache.log4j.PatternLayout
#log4j.appender.A2.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
#org.apache.log4j.DailyRollingFileAppender
log4j.logger.com.apache.log4j.model=ERROR,A2
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.File=C\:\\file1.txt
log4j.appender.A2.DatePattern='.'yyyy-MM-dd-HH-mm
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%-4r[%t]%-5p%c%x-%m%n
#org.apache.log4j.jdbc.JDBCAppender
#log4j.logger.com.apache.log4j.model=ERROR,A2
#log4j.appender.A2=org.apache.log4j.jdbc.JDBCAppender
#log4j.appender.A2.Driver=oracle.jdbc.driver.OracleDriver
#log4j.appender.A2.URL=jdbc:oracle:thin:@127.0.0.1:1521:orcl
#log4j.appender.A2.User=system
#log4j.appender.A2.Password=maomao
#log4j.appender.A2.layout=org.apache.log4j.PatternLayout
#log4j.appender.A2.sql=insert into table3(id,log) values('%t','%m')
很简单吧,自己看吧,西西。
这里提醒下如果想设置logger. setAdditivity(false)
log4j.additivity.com.apache.log4j.model=false;
还有个commons-logging他是上面2者的结合,有兴趣者自己查
发表评论
-
(转)postgreSQL 实现按月按年,按日统计 分组统计
2011-12-26 18:11 3838--按年分组查看 select to_char ... -
(转)aop:pointcut expression解析
2011-12-26 14:20 1168execution(* com.aptech.jb.epet. ... -
(转)SQL语句中,为什么where子句不能使用列别名,而order by却可以
2011-12-05 10:34 2102sqlserver查询的执行顺序是: (1)FROM < ... -
postgresql 导入和导出数据
2011-09-22 10:59 6237自oracle自收购sun以来,牵起了对java的种种纠纷, ... -
JSP页面跳转方法荟萃
2011-09-19 14:23 14361. response.sendRedirct("跳 ... -
如何同时启动多个Tomcat服务器(转)
2011-09-16 10:05 812前些时日,出于某种需要,需要同时启动多个Tomcat服务器,在 ... -
在浏览器查看svn中代码的解决方案(转)
2011-09-15 15:38 5211重新安装svn+apache以后,发现一个问题,比如java源 ... -
如何让svnserve.exe在WINDOWS中自动运行
2011-09-15 14:50 1154将svn设置成为系统服务自动运行就行了。 方法: 在Windo ... -
[原创]SS FrameWork For PHP 4.0 (专注于extjs和flex的PHP MVC核心框架)
2011-09-15 13:28 3549这是我以前写的PHP MVC 框架核心, 麻雀虽小五脏俱全,完 ... -
[原创]xampp-tomcat- connector---- xampp 完美整合现有的tomcat [续]
2011-09-15 13:18 5571在笔者拙作 xampp(apache+mod_jk)整合现有 ... -
Bat脚本中带ANT命令,会忽略ANT后面的命令?
2011-09-14 15:47 1925如题, bat中带有ant -debug 则后面的命令没有执行 ... -
xampp(apache+mod_jk)整合现有的tomcat
2011-09-14 12:15 52131. Xampp官网 http://www.apach ... -
svn + vim + ant + linux 竟然完全替代了eclipse
2011-09-14 09:18 3080很难想象, 一个公司只用 svn + vim + ant + ... -
Ant <Delete> 如何只删掉文件夹下所有文件和文件夹(转)
2011-09-13 18:20 3484用fileset 来过滤要删掉的目录和文件 <dele ... -
ANT的安装/配置笔记(转)
2011-09-13 14:38 723内容摘要: ant是一个基 ... -
windows 安装tomcat服务
2011-09-13 14:16 989D:\usr\tomcat\bin>service.ba ... -
struts 1 中 <html:form>
2011-09-13 12:03 11678来看看 使用 ActionForm 这个主题,当时使用了一个静 ... -
关于struts标签bean:message(转)
2011-09-13 11:55 1218bean:message标签用来从指 ... -
Servlet中的filter(转)
2011-09-13 11:21 985Filter:Filter 技术是servlet 2.3 新增 ... -
Filter的用处与种类
2011-09-13 11:19 1189Filter有如下几个用处。 •在HttpServletRe ...
相关推荐
详细介绍了java.util.logging.Logger的用法和结构,对如果扩展Logger起到抛砖引玉的作用!尊重劳动成果,亲下载了要给个评价!
赠送jar包:jetty-util-ajax-9.3.19.v20170502.jar; 赠送原API文档:jetty-util-ajax-9.3.19.v20170502-javadoc.jar; 赠送源代码:jetty-util-ajax-9.3.19.v20170502-sources.jar; 赠送Maven依赖信息文件:jetty-...
现在还有一个问题,假如你正在开发应用程序所调用的组件当中已经使用了 JCL 的,还有一些组建可能直接调用了 java.util.logging,这时你需要一个桥接器(名字为 XXX-over-slf4j.jar)把他们的日志输出重定向到 SLF4J...
赠送jar包:jetty-util-9.4.43.v20210629.jar; 赠送原API文档:jetty-util-9.4.43.v20210629-javadoc.jar; 赠送源代码:jetty-util-9.4.43.v20210629-sources.jar; 赠送Maven依赖信息文件:jetty-util-9.4.43.v...
java.util.ConcurrentModificationException 异常问题详解1
1.2.jar,log4j-1.2.16.jar,三个文件一起组成一个完整的日志输出,Apache的Common Logging只是一个高层的日志框架,本身并没有实现真正的写日志能力,而是依赖其它的日志系统如Log4j或者java本身的java.util....
util-linux-2.13-0.59.el5_8.i386.rpmutil-linux-2.13-0.59.el5_8.i386.rpmutil-linux-2.13-0.59.el5_8.i386.rpm
本人安装apache2,选用版本httpd-2.2.19-1,红帽服务器版2.6.18使用,一个一个下载很花了不少时间,现在打包派送。启动时本人遇到模块mod_ldap.so和mod_authnz_ldap.so不能加载问题,注释后可以启动。 内容: httpd-...
java-util-1.3.1.jar.zip
赠送jar包:jetty-util-9.4.11.v20180605.jar; 赠送原API文档:jetty-util-9.4.11.v20180605-javadoc.jar; 赠送源代码:jetty-util-9.4.11.v20180605-sources.jar; 赠送Maven依赖信息文件:jetty-util-9.4.11.v...
log4j.appender.ROLLING_FILE.File=rolling.log //文件位置,也可以用变量${java.home}、rolling.log log4j.appender.ROLLING_FILE.Append=true //true:添加 false:覆盖 log4j.appender.ROLLING_FILE.MaxFileSize=10...
java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:953) java.util.LinkedList$ListItr.next(LinkedList.java:886) JMeter.plugins.functional.samplers.websocket.ServiceSocket....
debug-log - Node.js 0.12 util.debuglog() ponyfill
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
赠送jar包:jetty-util-ajax-9.3.19.v20170502.jar; 赠送原API文档:jetty-util-ajax-9.3.19.v20170502-javadoc.jar; 赠送源代码:jetty-util-ajax-9.3.19.v20170502-sources.jar; 赠送Maven依赖信息文件:jetty-...
1. java.util.concurrent - Java 并发工具包 2. 阻塞队列 BlockingQueue 3. 数组阻塞队列 ArrayBlockingQueue 4. 延迟队列 DelayQueue 5. 链阻塞队列 LinkedBlockingQueue 6. 具有优先级的阻塞队列 ...
util-macros-1.11.0.tar.bz2 qca9531