defdssssss视频在线sss

4798 好笑 &
308 评论 &
912 好笑 &
1996 好笑 &
4787 好笑 &
116 评论 &
2310 好笑 &
124 评论 &
1002 好笑 &
1040 好笑 &
1723 好笑 &
1017 好笑 &
5333 好笑 &
195 评论 &
470 好笑 &
1961 好笑 &
1460 好笑 &
1420 好笑 &
3240 好笑 &
1858 好笑 &
2492 好笑 &
糗事精选:0
婚姻:secret
星座:金牛座
职业:家里蹲
故乡:国外 · 日本
糗龄:1036天商品名称:
评价得分:
asssssssssddddddddddddddddddd
还可以输入200字
多品类齐全,轻松购物
快多仓直发,极速配送
好正品行货,精致服务
省天天低价,畅选无忧133543人阅读
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
org.apache.log4j.Logger
  在应用程序中添加日志记录总的来说基于三个目的
:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作;跟踪代码运行时轨迹,作为日后审计的依据;担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息。  
  最普通的做法就是在代码中嵌入许多的打印语句,这些打印语句可以输出到控制台或文件中,比较好的做法就是构造一个日志操作类
来封装此类操作,而不是让一系列的打印语句充斥了代码的主体。
1.2. Log4j
 在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,
为我们提供了一个强有力的日志操作包
的一个开放源代码项目,通过使用
,我们可以控制日志信息输送的目的地是控制台、文件、
组件、甚至是套接口服
的事件记录器、
UNIX Syslog
守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就
是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。  
  此外,通过
其他语言接口,您可以在
程序中使用
,其语法和用法与在
程序中一样,使得多语言分布式系统得到一个统一一致的日志组件模块。而且,通
过使用各种第三方扩展,您可以很方便地将
一个简单的实例
项目结构:
package&com.coderdream.log4j;&&
import&org.apache.log4j.L&&
&&public&class&HelloLog4j&{&&
&private&static&Logger&logger&=&Logger.getLogger(HelloLog4j.class);&&
&&&&public&static&void&main(String[]&args)&{&&
&&&&&&&//&
级别的信息
&&&&&&&&logger.debug(&This&is&debug&message.&);&&
&&&&&&&&//&
级别的信息
&&&&&&&&(&This&is&info&message.&);&&
&&&&&&&&//&
级别的信息
&&&&&&&&logger.error(&This&is&error&message.&);&&
log4j.properties:
Properties
可以设置级别:
debug&info&error&&
也就是说只显示比大于等于当前级别的信息
log4j.rootLogger=debug,appender1&&
#log4j.rootLogger=info,appender1&&
#log4j.rootLogger=error,appender1&&&&
输出到控制台
log4j.appender.appender1=org.apache.log4j.ConsoleAppender&&
TTCCLayout&&
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout&&
输出结果:
[main]&DEBUG&com.coderdream.log4j.HelloLog4j&-&This&is&debug&message.&&
[main]&INFO&com.coderdream.log4j.HelloLog4j&-&This&is&info&message.&&
[main]&ERROR&com.coderdream.log4j.HelloLog4j&-&This&is&error&message.&&
通过配置文件可知,我们需要配置
个方面的内容:
、根目录(级别和目的地);
、目的地(控制台、文件等等);
、输出样式。
下面我们来看看Log4J
日志写出器
,供程序员输出日志信息
Appender -
日志目的地
,把格式化好的日志信息输出到指定的地方去
日志格式化器
,用来把程序员的
logging request
格式化成字符串
基本使用方法
由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式
。日志信息的优先级从高到低有
,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。
、定义配置文件
其实您也可以完全不使用配置文件,而是在代码中配置
环境。但是,使用配置文件将使您的应用程序更加灵活。
支持两种配置文件格式,一种是
格式的文件,一种是
特性文件(键
properties
文件)。下面我们介绍使用
特性文件做为配置文件的方法:
,其语法为:
log4j.rootLogger = [ level ] , appenderName,
appenderName, &
  其中,
是日志记录的优先级,分为
或者您定义的级别。
建议只使用四个级别
,优先级从高到低分别是
。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定
级别,则应用程序中所有
级别的日志信息将不被打印出来
appenderName
日志信息输出到哪个地方。您可以同时指定多个输出目的地。
)配置日志信息输出目的地
,其语法为:
log4j.appender.appenderName =
fully.qualified.name.of.appender.class.
有以下几种:
1.org.apache.log4j.ConsoleAppender
(控制台),
2.org.apache.log4j.FileAppender
(文件),
3.org.apache.log4j.DailyRollingFileAppender
(每天产生一个日志文件),
4.org.apache.log4j.RollingFileAppender
(文件大小到达指定尺寸的时候产生一个
新的文件)
5.org.apache.log4j.WriterAppender
(将日志信息以流格式发送到任意指定的地方)
配置日志信息的格式(布局),其语法为:
log4j.appender.appenderName.layout
= fully.qualified.name.of.layout.class
  其中,
1.org.apache.log4j.HTMLLayout
表格形式布局),
2.org.apache.log4j.PatternLayout
(可以灵活地指定布局模式),
3.org.apache.log4j.SimpleLayout
(包含日志信息的级别和信息字符串),
4.org.apache.log4j.TTCCLayout
(包含日志产生的时间、线程、类别等等信息)
函数的打印格式格式化日志信息,打印参数如下:
输出代码中指定的消息
输出优先级,即
输出自应用启动到输出该
信息耗费的毫秒数
输出所属的类目,通常就是所在类的全名
输出产生该日志事件的线程名
输出一个回车换行符,
输出日志时间点的日期或时间,默认格式为
,也可以在其后指定格式,比如:
%d{yyy MMM dd HH:mm:ss,SSS}
,输出类似:
输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:
Testlog4.main(TestLog4.java:10)
在代码中使用
得到记录器
,第一步就是获取日志记录器,这个记录器将负责控制日志信息。其语法为:
public static
Logger getLogger( String name)
通过指定的名字获得记录器,如果必要的话,则为这个名字创建一个新的记录器。
一般取本类的名字,比如:
static Logger
logger = Logger.getLogger ( ServerWithLog4j.class.getName () )
读取配置文件
  当获得了日志记录器之后,第二步将配置
环境,其语法为:
BasicConfigurator.configure
自动快速地使用缺省
PropertyConfigurator.configure
( String configFilename)
:读取使用
的特性文件编写的配置文件。
DOMConfigurator.configure
( String filename )
形式的配置文件。
插入记录信息(格式化日志信息)
  当上两个必要步骤执行完毕,您就可以轻松地使用不同优先级别的日志记录语句插入到您想记录日志的任何地方,其语法如下:
Logger.debug ( Object message ) ;
( Object message ) ;
Logger.warn
( Object message ) ;
Logger.error
( Object message ) ;
输出为文本文件或
Porperties
设置级别:
log4j.rootLogger=debug,appender1&&&&
log4j.appender.appender1=org.apache.log4j.FileAppender&&
设置文件输出路径
log4j.appender.appender1.File=c:/Log4JDemo02.html&&
设置文件输出样式
log4j.appender.appender1.layout=org.apac
he.log4j.HTMLLayout&&#
设置级别:
log4j.rootLogger=debug,appender1
输出到文件(
这里默认为追加方式)
log4j.appender.appender1=org.apache.log4j.FileAppender
设置文件输出路径
】文本文件
#log4j.appender.appender1.File=c:/Log4JDemo02.log
log4j.appender.appender1.File=c:/Log4JDemo02.html
设置文件输出样式
#log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
输出为文本文件或HTML
Properties
设置级别和多个目的地
log4j.rootLogger=debug,appender1,appender2&&&&
输出到控制台
log4j.appender.appender1=org.apache.log4j.ConsoleAppender&&
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout&&&&
输出到文件
这里默认为追加方式
log4j.appender.appender2=org.apache.log4j.FileAppender&&
log4j.appender.appender2.File=c:/Log4JDemo02.html&&
log4j.appender.appender2.layout=org.apache.log4j.HTMLLayout&&
设置级别和多个目的地
log4j.rootLogger=debug,appender1,appender2
输出到控制台
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
设置输出样式
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
输出到文件(
这里默认为追加方式)
log4j.appender.appender2=org.apache.log4j.FileAppender
设置文件输出路径
】文本文件
#log4j.appender.appender2.File=c:/Log4JDemo02.log
log4j.appender.appender2.File=c:/Log4JDemo02.html
设置文件输出样式
#log4j.appender.appender2.layout=org.apache.log4j.TTCCLayout
log4j.appender.appender2.layout=org.apache.log4j.HTMLLayout
SimpleLayout
Properties
设置级别和目的地
log4j.rootLogger=debug,appender1&&&&
输出到控制台
log4j.appender.appender1=org.apache.log4j.ConsoleAppender&&
设置输出样式
log4j.appender.appender1.layout=org.apache.log4j.SimpleLayout&&
控制台代码
&&&&&&&&&&&&&&
- This is debug message.
&&&&&&&&&&&&&&
- This is info message.
&&&&&&&&&&&&&&
- This is error message.
】 自定义样式
设置级别和目的地
log4j.rootLogger=debug,appender1&&&&
输出到控制台
log4j.appender.appender1=org.apache.log4j.ConsoleAppender&&
设置输出样式
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout&&
自定义样式
log4j.appender.appender1.layout.ConversionPattern
=%r&[%t]&[%p]&-&%c&-%l&-%m%n&&
自定义样式
DEBUG/INFO/ERROR
所属类的全名
发生的位置,在某个类的某行
输出代码中指定的讯息,如
log(message)
输出一个换行
log4j.appender.appender1.layout.ConversionPattern
[%t] [%p] - %c -%l -%m%n
输出结果:
控制台代码
[main] [DEBUG] - com.coderdream.log4j.HelloLog4j
-com.coderdream.log4j.HelloLog4j.main(HelloLog4j.java:16
-This is debug message.
[INFO] - com.coderdream.log4j.HelloLog4j -com.coderdream.log4j.HelloLog4j.main(HelloLog4j.java:18
) -This is info message.
[main] [ERROR] - com.coderdream.log4j.HelloLog4j
-com.coderdream.log4j.HelloLog4j.main(HelloLog4j.java:20
-This is error message.
】 多目的地、自定义样式
Properties
设置级别和目的地
log4j.rootLogger=debug,appender1,appender2&&&&
输出到控制台
log4j.appender.appender1=org.apache.log4j.ConsoleAppender&&
设置输出样式
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout&&
log4j.appender.appender1.layout.ConversionPattern=[%d{yy/MM/dd&HH:mm:ss:SSS}][%C-%M]&%m%n&&
输出到文件
这里默认为追加方式
log4j.appender.appender2=org.apache.log4j.FileAppender&&
设置文件输出路径
log4j.appender.appender2.File=c:/Log4JDemo06.log&&
设置文件输出样式
log4j.appender.appender2.layout=org.apache.log4j.PatternLayout&&
log4j.appender.appender2.layout.ConversionPattern=[%d{HH:mm:ss:SSS}][%C-%M]&-%m%n&&
【企业应用】设置
特定包的级别和目的地
先增加一个包,新建一个类:
package&com.coderdream.log4jD&&&&
import&org.apache.log4j.L&&&&
public&class&HelloDao&{&&
&&&&private&static&Logger&logger&=&Logger.getLogger(HelloDao.class);&&
&&&&public&static&void&main(String[]&args)&{&&
&&&&&&&&//&
级别的信息
&&&&&&&&logger.debug(&This&is&debug&message&from&Dao.&);&&
&&&&&&&&//&
级别的信息
&&&&&&&&(&This&is&info&message&from&Dao.&);&&
&&&&&&&&//&
级别的信息
&&&&&&&&logger.error(&This&is&error&message&from&Dao.&);&&
如果这个类作为基类,如
BaseAction
BaseService
等等,则我们可以将各层的日志信息分类输出到各个文件。
Properties
省略根,只设置特定包的级别和目的地
log4j.logger.com.coderdream.log4j
=debug,appender1&&
log4j.logger.com.coderdream.log4jDao
=info,appender1,appender2&&&&
输出到控制台
log4j.appender.appender1=org.apache.log4j.ConsoleAppender&&
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout&&
log4j.appender.appender1.layout.ConversionPattern
=[%d{yy/MM/dd&HH:mm:ss:SSS}][%C-%M]&%m%n&&
输出到文件
这里默认为追加方式
log4j.appender.appender2=org.apache.log4j.FileAppender&&
log4j.appender.appender2.File=c:/Log4JDemo07_Dao.log&&
&log4j.appender.appender2.layout=org.apache.log4j.PatternLayout&&
log4j.appender.appender2.layout.ConversionPattern=[%d{HH:mm:ss:SSS}][%C-%M]&-%m%n&&&
的配置方式
&?xml&version=&1.0&&encoding=&UTF-8&?&&&
&!DOCTYPE&log4j:configuration&SYSTEM&&log4j.dtd&&&&&&
&log4j:configuration&xmlns:log4j=&http://jakarta.apache.org/log4j/&&&&&&
&&&&&appender&name=&appender1&&&
&&&&&&&&class=&org.apache.log4j.RollingFileAppender&&&&
&&&&&&&&&param&name=&File&&value=&logfile08.html&&/&&&
&&&&&&&&&param&name=&MaxFileSize&&value=&1MB&&/&&&
&&&&&&&&&param&name=&MaxBackupIndex&&value=&5&&/&&&
&&&&&&&&&layout&class=&org.apache.log4j.HTMLLayout&&&&
&&&&&&&&&/layout&&&
&&&&&/appender&&&&&
&&&&&root&&&
&&&&&&&&&level&value=&debug&&/&&&
&&&&&&&&&appender-ref&ref=&appender1&&/&&&
&&&&&/root&&&
&/log4j:configuration&&&
&?xml version=&1.0&
encoding=&UTF-8&?&
&!DOCTYPE log4j:configuration
SYSTEM &log4j.dtd&&
&log4j:configuration
xmlns:log4j=&http://jakarta.apache.org/log4j/&&
&&&&&&&&&&&&&&
name=&appender1&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
class=&org.apache.log4j.RollingFileAppender&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
name=&File& value=&logfile08.html& /&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
name=&MaxFileSize& value=&1MB& /&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
name=&MaxBackupIndex& value=&5& /&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
class=&org.apache.log4j.HTMLLayout&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&
&/appender&
&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
value=&debug& /&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&appender-ref
ref=&appender1& /&
&&&&&&&&&&&&&&
&/log4j:configuration&&
特别说明:
为了提高效率,我们可以在写日志前增加判断:
级别的信息
if&(logger.isDebugEnabled
&&&&logger.debug(&This&is&debug&message&from&Dao.&);&&
级别的信息
if&(logger.isInfoEnabled
&&&&(&This&is&info&message&from&Dao.&);&&
级别的信息
logger.error(&This&is&error&message&from&Dao.&);&&
另附一些详细东西:
Logger.debug(Object
message);//
(Object message);//
Logger.warn(Object message);//
Logger.error(Object message);//
Logger.fatal(Object message);//
致命错误信息
,其语法为:
log4j.rootLogger = [ level ] , appenderName1,
appenderName2, &
&&&&&&&& level :
是日志记录的优先级,分为
或者您定义的级别。
建议只使用四个级别,优
先级从高到低分别是
。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定
级别,则应用程序中所有
级别的日志信息将不被打印出来。
appenderName:
就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。
log4j.rootLogger
info,A1,B2,C3
、配置日志信息输出目的地,其语法为:
log4j.appender.appenderName =
fully.qualified.name.of.appender.class& //
&fully.qualified.name.of.appender.class&
可以指定下面五个目的地中的一个:
&&&&&&&&&&1.org.apache.log4j.ConsoleAppender
(控制台)
&&&&&&&&&&2.org.apache.log4j.FileAppender
3.org.apache.log4j.DailyRollingFileAppender
(每天产生一个日志文件)
4.org.apache.log4j.RollingFileAppender
(文件大小到达指定尺寸的时候产生一个新的文件)
5.org.apache.log4j.WriterAppender
(将日志信息以流格式发送到任意指定的地方)
&&&&&&&&&&&& 1.ConsoleAppender
&&&&&&&&&&&&&&&&&&&
Threshold=WARN:
指定日志消息的输出最低层次。
&&&&&&&&&&&&&&&&&&&
ImmediateFlush=true:
意谓着所有的消息都会被立即输出。
&&&&&&&&&&&&&&&&&&&
Target=System.err
:默认情况下是:
System.out,
指定输出控制台
&&&&&&&&&&&&&&2.FileAppender
&&&&&&&&&&&&&&&&&&&
Threshold=WARN:
指定日志消息的输出最低层次。
&&&&&&&&&&&&&&&&&&&
ImmediateFlush=true:
意谓着所有的消息都会被立即输出。
&&&&&&&&&&&&&&&&&&&
File=mylog.txt:
指定消息输出到
&&&&&&&&&&&&&&&&&&&
Append=false:
即将消息增加到指定文件中,
指将消息覆盖指定的文件内容。
&&&&&&&&&&& 3.DailyRollingFileAppender
&&&&&&&&&&&&&&&&&&&
Threshold=WARN:
指定日志消息的输出最低层次。
&&&&&&&&&&&&&&&&&&&
ImmediateFlush=true:
意谓着所有的消息都会被立即输出。
&&&&&&&&&&&&&&&&&&&&File=mylog.txt:
指定消息输出到
&&&&&&&&&&&&&&&&&&&
Append=false:
即将消息增加到指定文件中,
指将消息覆盖指定的文件内容。
&&&&&&&&&&&&&&&&&&&
DatePattern='.'yyyy-ww:
每周滚动一次文件
,即每周产生一个新的文件。当然也可以指定按月、周、天、时和分。即对应的格式如下:
&&&&&&&&&&&&&&&&&&&
1)'.'yyyy-MM:
&&&&&&&&&&&&&&&&&&&
2)'.'yyyy-ww:
&&&&&&&&&&&&&&&&&&&
3)'.'yyyy-MM-dd:
&&&&&&&&&&&&&&&&&&&
4)'.'yyyy-MM-dd-a:
&&&&&&&&&&&&&&&&&&&
5)'.'yyyy-MM-dd-HH:
&&&&&&&&&&&&&&&&&&&
6)'.'yyyy-MM-dd-HH-mm:
&&&&&&&&&&& 4.RollingFileAppender
&&&&&&&&&&&&&&&&&&&&Threshold=WARN:
指定日志消息的输出最低层次。
&&&&&&&&&&&&&&&&&&&&ImmediateFlush=true:
意谓着所有的消息都会被立即输出。
&&&&&&&&&&&&&&&&&&&
File=mylog.txt:
指定消息输出到
&&&&&&&&&&&&&&&&&&&
Append=false:
即将消息增加到指定文件中,
指将消息覆盖指定的文件内容。
&&&&&&&&&&&&&&&&&&&
MaxFileSize=100KB:
后缀可以是
在日志文件到达该大小时,将会自动滚动,即将原来的内容移到
mylog.log.1
&&&&&&&&&&&&&&&&&&&
MaxBackupIndex=2:
指定可以产生的滚动文件的最大数。
实际应用:
log4j.appender.A1=org.apache.log4j.ConsoleAppender
这里指定了日志输出的第一个位置
ConsoleAppender
、配置日志信息的格式,其语法为:
A. log4j.appender.appenderName.layout
= fully.qualified.name.of.layout.class
&&&&&&&&&&&&
&&fully.qualified.name.of.layout.class&
可以指定下面
个格式中的一个:
&&&&&&&&&&&&&&
1.org.apache.log4j.HTMLLayout
表格形式布局),
2.org.apache.log4j.PatternLayout
(可以灵活地指定布局模式),
3.org.apache.log4j.SimpleLayout
(包含日志信息的级别和信息字符串),
4.org.apache.log4j.TTCCLayout
(包含日志产生的时间、线程、类别等等信息)
&&&&&&&&&&&&&&&&&&
1.HTMLLayout
&&&&&&&&&&&&&&&&&&&&&
LocationInfo=true:
文件名称和行号
&&&&&&&&&&&&&&&&&&&&&
Title=my app file:
Log4J Log Messages.
&&&&&&&&&&&&&&&&&&&2.PatternLayout
&&&&&&&&&&&&&&&&&&&&&
ConversionPattern=%m%n :
指定怎样格式化指定的消息。
&&&&&&&&&&&&&&&&&& 3.XMLLayout&
&&&&&&&&&&&&&&&&&&&&&
LocationInfo=true:
文件和行号
实际应用:
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r
%-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n
&&&&&&&&&&
这里需要说明的就是日志信息格式中几个符号所代表的含义:
信息输出时左对齐;
&&&&&&&&&&&&&&&&&&
输出日志信息优先级,即
&&&&&&&&&&&&&&&&&&
输出日志时间点的日期或时间,默认格式为
,也可以在其后指定格式,比如:
%d{yyy MMM dd HH:mm:ss,SSS}
,输出类似:
&&&&&&&&&&&&&&&&&&
输出自应用启动到输出该
信息耗费的毫秒数
&&&&&&&&&&&&&&&&&&
输出日志信息所属的类目,通常就是所在类的全名
&&&&&&&&&&&&&&&&&&
输出产生该日志事件的线程名
&&&&&&&&&&&&&&&&&&
输出日志事件的发生位置,相当于
%C.%M(%F:%L)
包括类目名、发生的线程,以及在代码中的行数。举例:
Testlog4.main(TestLog4.java:10)
&&&&&&&&&&&&&&&&&&
输出和当前线程相关联的
嵌套诊断环境
尤其用到像
java servlets
这样的多客户多线程的应用中。
&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&
输出日志消息产生时所在的文件名称
&&&&&&&&&&&&&&&&&&&%L:
输出代码中的行号
&&&&&&&&&&&&&&&&&&
输出代码中指定的消息
产生的日志具体信息
&&&&&&&&&&&&&&&&&&
输出一个回车换行符,
输出日志信息换行
&&&&&&&&&&&
与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如:
&&&&&&&&&&&&&&&&&&&&
:指定输出
的名称,最小的宽度是
的名称小于
的话,默认的情况下右对齐。
&&&&&&&&&&&&&&&&&&&&
的名称,最小的宽度是
的名称小于
号指定左对齐。
&&&&&&&&&&&&&&&&&&&&
的名称,最大的宽度是
的名称大于
的话,就会将左边多出的字符截掉,但小于
的话也不会有空格。
&&&&&&&&&&&&&&&&&&&&
4)%20.30c:
的名称小于
就补空格,并且右对齐,如果其名称长于
字符,就从左边交远销出的字符截掉。
  这里上面三个步骤是对前面
组件说明的一个简化;下面给出一个具体配置例子,在程序中可以参照执行:
log4j.rootLogger=INFO,A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r
%-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n
&&&&& 4. #
当输出信息于回滚文件时
&&&&&&&&&&log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender&&
指定以文件的方式输出日志
&&&&&&&&&&&log4j.appender.ROLLING_FILE.Threshold=ERROR&
&&&&&&&&&&&log4j.appender.ROLLING_FILE.File=rolling.log&
也可以用变量
${java.home}
rolling.log
&&&&&&&&&&&log4j.appender.ROLLING_FILE.Append=true&
&&&&&&&&&&&log4j.appender.ROLLING_FILE.MaxFileSize=10KB&
文件最大尺寸
&&&&&&&&&&&log4j.appender.ROLLING_FILE.MaxBackupIndex=1&
&&&&&&&&&&&log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout&
&&&&&&&&&&&log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework]
%d - %c -%-4r [%t] %-5p %c %x - %m%n&
比较全面的配置
的配置之简单使它遍及于越来越多的应用中了:
配置文件实现了输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能。择其一二使用就够用了,
&log4j.rootLogger=DEBUG,CONSOLE,A1,im
&log4j.addivity.org.apache=true
应用于控制台
&log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
&log4j.appender.Threshold=DEBUG
&log4j.appender.CONSOLE.Target=System.out
&log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
&log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r
[%t] %-5p %c %x - %m%n
&#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]
n%c[CATEGORY]%n%m[MESSAGE]%n%n
应用于文件
&log4j.appender.FILE=org.apache.log4j.FileAppender
&log4j.appender.FILE.File=file.log
&log4j.appender.FILE.Append=false
&log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
&log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r
[%t] %-5p %c %x - %m%n
&# Use this layout for LogFactor 5 analysis
应用于文件回滚
&log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
&log4j.appender.ROLLING_FILE.Threshold=ERROR
&log4j.appender.ROLLING_FILE.File=rolling.log& //
也可以用变量
${java.home}
rolling.log
&log4j.appender.ROLLING_FILE.Append=true&&&&&&
&log4j.appender.ROLLING_FILE.MaxFileSize=10KB&& //
文件最大尺寸
&log4j.appender.ROLLING_FILE.MaxBackupIndex=1& //
&log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
&log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c
-%-4r [%t] %-5p %c %x - %m%n
&log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender
&log4j.appender.SOCKET.RemoteHost=localhost
&log4j.appender.SOCKET.Port=5001
&log4j.appender.SOCKET.LocationInfo=true
&# Set up for Log Facter 5
&log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout
&log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n
Factor 5 Appender
&log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender
&log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000
发送日志给邮件
&log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
&log4j.appender.MAIL.Threshold=FATAL
&log4j.appender.MAIL.BufferSize=10
&&log4j.appender.MAIL.From=web@
&log4j.appender.MAIL.SMTPHost=
&log4j.appender.MAIL.Subject=Log4J Message
&&log4j.appender.MAIL.To=web@
&log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
&log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r
[%t] %-5p %c %x - %m%n
用于数据库
&log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
&log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test
&log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
&log4j.appender.DATABASE.user=root
&log4j.appender.DATABASE.password=
&log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES
('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n')
&log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
&log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c
-%-4r [%t] %-5p %c %x - %m%n
&log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
&log4j.appender.A1.File=SampleMessages.log4j
&log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j'
&log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout
&log4j.appender.im =
net.cybercorlin.util.logger.appender.IMAppender
&log4j.appender.im.host =
mail.cybercorlin.net
&log4j.appender.im.username = username
&log4j.appender.im.password = password
&log4j.appender.im.recipient =
&log4j.appender.im.layout=org.apache.log4j.PatternLayout
&log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r
[%t] %-5p %c %x - %m%n
参考资料:
/topic/378077
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:143828次
排名:千里之外
评论:15条}

我要回帖

更多关于 sssssssss 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信