东莞网站建设关键词,html网页设计作业代码,专做正品的护肤品网站,合肥网站seo推广详细讲解Java中log4j的使用方法 作者: 网络 来源: 日期: 2008-1-3 23:40:24 1、Log4j是什么#xff1f; Log4j可以帮助调试#xff08;有时候debug是发挥不了作 用的#xff09;和分析#xff0c;要下载和了解更具体的内容#xff0c;还是访问其官方网站吧#xff1a; ht…详细讲解Java中log4j的使用方法 作者: 网络 来源: 日期: 2008-1-3 23:40:24 1、Log4j是什么 Log4j可以帮助调试有时候debug是发挥不了作 用的和分析要下载和了解更具体的内容还是访问其官方网站吧 http://jakarta.apache.org/log4j . 2、Log4j的概念 Log4j中有三个主要的组件它们分别是 Logger、Appender和LayoutLog4j 答应开发人员定义多个Logger每个Logger拥有自己的名字Logger之间通过名字来表明隶属关系。有一个Logger称为Root它永远存在且不能通过名字检索或引用可以通过Logger.getRootLogger方法获得其它Logger通过 Logger.getLoggerString name方法。 Appender则是用来指明将所有的log信息存放到什么地方Log4j中支持多种appender如 console、files、GUI components、NT Event Loggers等一个Logger可以拥有多个Appender也就是你既可以将Log信息输出到屏幕同时存储到一个文件中。 Layout的作用是控制Log信息的输出方式也就是格式化输出的信息。 Log4j中将要输出的Log信息定义了5种级别依次为DEBUG、INFO、WARN、ERROR和FATAL当输出时只有级别高过配置中规定的 级别的信息才能真正的输出这样就很方便的来配置不同情况下要输出的内容而不需要更改代码这点实在是方便啊。 3、Log4j的配置文件 虽然可以不用配置文件而在程序中实现配置但这种方法在如今的系统开发中显然是不可取的能采用配置文件的地方一定一定要用配置文件。Log4j支持两 种格式的配置文件XML格式和Java的property格式本人更喜欢后者首先看一个简单的例子吧如下 log4j.rootLoggerdebug, stdout, R log4j.appender.stdoutorg.apache.log4j.ConsoleAppender log4j.appender.stdout.layoutorg.apache.log4j.PatternLayout # Pattern to output the callers file name and line number. log4j.appender.stdout.layout.ConversionPattern%5p [%t] (%F:%L) - %m%n log4j.appender.Rorg.apache.log4j.RollingFileAppender log4j.appender.R.Fileexample.log log4j.appender.R.MaxFileSize 100KB # Keep one backup file log4j.appender.R.MaxBackupIndex1 log4j.appender.R.layoutorg.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern%p %t %c - %m%n 首先是设置root格式为 log4j.rootLogger[level]appenderName ……其中level就是设置需要输出信息的级别后面是appender的输出的目的地appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。 配置日志信息输出目的地Appender其语法为 log4j.appender.appenderName fully.qualified.name.of.appender.class log4j.appender.appenderName.option1 value1 ... log4j.appender.appenderName.option valueN Log4j提供的appender有以下几种 org.apache.log4j.ConsoleAppender控制台 org.apache.log4j.FileAppender文件 org.apache.log4j.DailyRollingFileAppender天天产生一个日志文件 org.apache.log4j.RollingFileAppender文件大小到达指定尺寸的时候产生新文件 org.apache.log4j.WriterAppender将日志信息以流格式发送到任意指定的地方 配置日志信息的格式布局其语法为 log4j.appender.appenderName.layout fully.qualified.name.of.layout.class log4j.appender.appenderName.layout.option1 value1 .... log4j.appender.appenderName.layout.option valueN Log4j提供的layout有以下几种 org.apache.log4j.HTMLLayout以HTML表格形式布局 org.apache.log4j.PatternLayout可以灵活地指定布局模式 org.apache.log4j.SimpleLayout包含日志信息的级别和信息字符串 org.apache.log4j.TTCCLayout包含日志产生的时间、线程、类别等等信息 Log4J采用类似C语言中的printf函数的打印格式格式化日志信息打印参数如下 %m 输出代码中指定的消息 %p 输出优先级即DEBUGINFOWARNERRORFATAL %r 输出自应用启动到输出该log信息耗费的毫秒数 %c 输出所属的类目通常就是所在类的全名 %t 输出产生该日志事件的线程名 %n 输出一个回车换行符Windows平台为“\r\n”Unix平台为“\n” %d 输出日志时间点的日期或时间默认格式为ISO8601也可以在其后指定格式比如%d{yyy MMM dd HHmmssSSS}输出类似 2002年10月18日 221028921 %l 输出日志事件的发生位置包括类目名、发生的线程以及在代码中的行数。举例Testlog4.mainTestLog4.java10 4、Log4j在程序中的使用 要在自己的程序中使用Log4j首先需要将commons- logging.jar和logging-log4j-1.2.9.jar导入到构建路径中。然后再将log4j.properties放到src根目录下。这样就可以在程序中使用log4j了。在类中使用log4j首先声明一个静态变量 Logger loggerLogger.getLogclassname现在就可以使用了用法如下logger.debugdebug message或者logger.infoinfo message看下面一个小例子 import com.foo.Bar; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; public class MyApp { static Logger logger Logger.getLogger(MyApp.class.getName()); public static void main(String[] args) { // BasicConfigurator replaced with PropertyConfigurator. PropertyConfigurator.configure(args[0]); logger.info(Entering application.); Bar bar new Bar(); bar.doIt(); logger.info(Exiting application.); } } 转载于:https://www.cnblogs.com/amboyna/archive/2008/01/05/1027020.html