java.util.logging.Logger特性:
1、具有层次结构,使用圆点分隔的层次名称空间来命名Logger;
2、请求级别和日志级别;(请求级别是调用Logger对象时指定的级别Level.INFO,日志级别是系统包路径输出日期的级别"com.netstar=info");
3、Handler指定系统输出日期的目标;(MemoryHandler,StreamHandler(FileHandler,ConsoleHandler,SocketHandler));
4、日志级别由高到低:(SEVERE,WARNING,INFO,CONFIG,FINE,FINER,FINEST),特殊级别(ALL(全部打开),OFF(全部关闭));
5、日志内容输出格式Formatter(SimpleFormatter,XMLFormatter)
org.apache.commons.logging.Log特性:
1、日志级别由高到低:(FATAL,ERROR,WARN,INFO,DEBUG,TRACE)
2、commons-loggings定义的是一个轻量级的规范(log4j是其中的一个实现)。
3、commons-loggings的配置"org.apache.commons.logging.Log"查找顺序如下:
(1)、从classpath路径下加载commons-logging.properties属性文件,如果存在多个commons-logging.property文件最新版本优先,其次最先找到优先,成功则返回;
(2)、从system property 中查找,成功则返回;
(3)、加载Log4jLogger实现,成功则返回;
(4)、加载SDK14Logger实现,成功则返回;
(5)、加载SimpleLog实现,成功则返回;
Log4j配置:
1、三个协作对象:Logger,Appender,Layout;
2、Appender结构图:
interface Appender;
abstract class ApperndSkeleton implements Appender;
class WriterAppender extneds AppenderSkeleton;
class ConsoleAppender extends WriterAppender;
class FileAppender extends WriterAppender;
class RollingFileAppender extends FileAppender;
calss DailyRollingFileAppender extends FileAppender;
3、Appender对象可配置参数:
AppenderSkeleton:
Theshold : 日志信息输出的级别(ALL,DEBUG,INFO,WARN,ERROR,FATAL,OFF),默认值:null;
WriterAppender:
Encoding : 日志信息输出的编码方式(US-ASCII,ISO-8859-1,UTF-8,UTF-16BE,UTF-16LE,UTF-16),默认值:系统字符集;
ImmediateFlush : ?
ConsoleAppender:
Target : 日志信息输出对象(System.err,System.out),默认值:System.out;
FileAppender:
Append : 日志文件存的情况下,是以添加方式(true)或覆盖方式(false)写入,默认值:true;
BufferedIO : ?
BufferSize : 缓存大小,默认值:8192;
File : 文件名;
RollingFileAppender:
MaxBackupIndex : 循环输出文件的个数,默认值1;
MaxFileSize : 输出文件的大小,大小可以加后缀(KB,MB,GB),默认值:10MB;
DailyRollingFileAppender:
DatePattern : 日期格式(见java.text.SimpleDateFormat格式),默认值:yyyy-MM-dd;
SocketAppender:
LocationInfo : 发送消息时是否加入本面信息(YES,NO),默认值:NO;
Port : 通信端口;
ReconnectionDelay: 重试间隔时间(单位:毫秒),默认值30000;
RemoteHost : 日志服务器地址;
JMSAppender:
LocationInfo :
InitialContextFactoryName:
ProviderURL :
URLPkgPrefixes :
SecurityPrincipalName:
SecurityCredentials:
TopicFactoryBindingName:
TopicBindingName:
UserName :
Password :
SMTPAppender:
SMTPHost :
To :
From :
BufferSize :
EvaluatorClass :
LocationInfo :
AsyncAppender:
BufferSize :
LocationInfo :
4、Layout
PatternLayout:(文本格式)
c : Logger层次结构,可以加数字如%c{2},这样输出Logger层次结构最后两层;
C : 当前Class的层次结构,其它同上相同;
d : 定义日期格式如%d{dd MMM yyyy HH:mm:ss},格式同(SimpleDateFormat);
F : 输出文件名称;
l : 包路径+类名+方法名+类文件名+行号;
L : 行号;
m : 输出消息;
M : 输出方法名;
n : 换行;
p : 日志级别;
r : 服务启动到日志被输出所用的时间(单位:毫秒);
t : 线程名;
x : 动态上下文件信息;%x{client}
X : 同上
例子:
%20.30c : 右对齐,最小宽度 20,最大宽度 30;
%-20.30c : 左对齐,最小宽度 20,最大宽度 30;
XMLLayout:(XML格式)
HTMLLayout:(HTML格式)
5、Filter
1、具有层次结构,使用圆点分隔的层次名称空间来命名Logger;
2、请求级别和日志级别;(请求级别是调用Logger对象时指定的级别Level.INFO,日志级别是系统包路径输出日期的级别"com.netstar=info");
3、Handler指定系统输出日期的目标;(MemoryHandler,StreamHandler(FileHandler,ConsoleHandler,SocketHandler));
4、日志级别由高到低:(SEVERE,WARNING,INFO,CONFIG,FINE,FINER,FINEST),特殊级别(ALL(全部打开),OFF(全部关闭));
5、日志内容输出格式Formatter(SimpleFormatter,XMLFormatter)
org.apache.commons.logging.Log特性:
1、日志级别由高到低:(FATAL,ERROR,WARN,INFO,DEBUG,TRACE)
2、commons-loggings定义的是一个轻量级的规范(log4j是其中的一个实现)。
3、commons-loggings的配置"org.apache.commons.logging.Log"查找顺序如下:
(1)、从classpath路径下加载commons-logging.properties属性文件,如果存在多个commons-logging.property文件最新版本优先,其次最先找到优先,成功则返回;
(2)、从system property 中查找,成功则返回;
(3)、加载Log4jLogger实现,成功则返回;
(4)、加载SDK14Logger实现,成功则返回;
(5)、加载SimpleLog实现,成功则返回;
Log4j配置:
1、三个协作对象:Logger,Appender,Layout;
2、Appender结构图:
interface Appender;
abstract class ApperndSkeleton implements Appender;
class WriterAppender extneds AppenderSkeleton;
class ConsoleAppender extends WriterAppender;
class FileAppender extends WriterAppender;
class RollingFileAppender extends FileAppender;
calss DailyRollingFileAppender extends FileAppender;
3、Appender对象可配置参数:
AppenderSkeleton:
Theshold : 日志信息输出的级别(ALL,DEBUG,INFO,WARN,ERROR,FATAL,OFF),默认值:null;
WriterAppender:
Encoding : 日志信息输出的编码方式(US-ASCII,ISO-8859-1,UTF-8,UTF-16BE,UTF-16LE,UTF-16),默认值:系统字符集;
ImmediateFlush : ?
ConsoleAppender:
Target : 日志信息输出对象(System.err,System.out),默认值:System.out;
FileAppender:
Append : 日志文件存的情况下,是以添加方式(true)或覆盖方式(false)写入,默认值:true;
BufferedIO : ?
BufferSize : 缓存大小,默认值:8192;
File : 文件名;
RollingFileAppender:
MaxBackupIndex : 循环输出文件的个数,默认值1;
MaxFileSize : 输出文件的大小,大小可以加后缀(KB,MB,GB),默认值:10MB;
DailyRollingFileAppender:
DatePattern : 日期格式(见java.text.SimpleDateFormat格式),默认值:yyyy-MM-dd;
SocketAppender:
LocationInfo : 发送消息时是否加入本面信息(YES,NO),默认值:NO;
Port : 通信端口;
ReconnectionDelay: 重试间隔时间(单位:毫秒),默认值30000;
RemoteHost : 日志服务器地址;
JMSAppender:
LocationInfo :
InitialContextFactoryName:
ProviderURL :
URLPkgPrefixes :
SecurityPrincipalName:
SecurityCredentials:
TopicFactoryBindingName:
TopicBindingName:
UserName :
Password :
SMTPAppender:
SMTPHost :
To :
From :
BufferSize :
EvaluatorClass :
LocationInfo :
AsyncAppender:
BufferSize :
LocationInfo :
4、Layout
PatternLayout:(文本格式)
c : Logger层次结构,可以加数字如%c{2},这样输出Logger层次结构最后两层;
C : 当前Class的层次结构,其它同上相同;
d : 定义日期格式如%d{dd MMM yyyy HH:mm:ss},格式同(SimpleDateFormat);
F : 输出文件名称;
l : 包路径+类名+方法名+类文件名+行号;
L : 行号;
m : 输出消息;
M : 输出方法名;
n : 换行;
p : 日志级别;
r : 服务启动到日志被输出所用的时间(单位:毫秒);
t : 线程名;
x : 动态上下文件信息;%x{client}
X : 同上
例子:
%20.30c : 右对齐,最小宽度 20,最大宽度 30;
%-20.30c : 左对齐,最小宽度 20,最大宽度 30;
XMLLayout:(XML格式)
HTMLLayout:(HTML格式)
5、Filter