|
|
日志框架集成 |
|
1. 日志使用说明
(1) 用于引擎内部实现
如输出引擎运行过程的状态和错误信息等,可以通过日志框架开启或关闭引擎内部输出的日志信息。
引擎内部均采用org.commontemplate.util.log.LoggerFactory.getLogger()方式调用日志接口。
LoggerFactory通过在ClassPath搜索常用日志框架的类文件是否存在,进行自动适应。
默认的查找序为:CommonsLogging, Log4J, Avalon, SLF4J, JdkLogging,否则使用SimpleLogger。
也可以通过调用LoggerFactory.setLoggerProvider()进行设置。
(2) 用于模板中的$log指令
通过配置commontemplate.properties中的loggerProvider项实现切换。
以下是内置的可切换项,也可以扩展实现。日志扩展...
2. 内部实现
(1)NoneLogger
空的实现,当不需要日志输出时使用。
配置commontemplate.properties:
loggerProvider=org.commontemplate.util.log.NoneLoggerProvider()
(2)SimpleLogger
简单的控制台输出实现。
配置commontemplate.properties:
loggerProvider=org.commontemplate.util.log.SimpleLoggerProvider()
2. 外部集成
(1)与CommonsLogging集成
项目地址:http://jakarta.apache.org/commons/logging
配置commontemplate.properties:
loggerProvider=org.commontemplate.util.log.CommonsLoggerProvider()
配置commons-logging.properties:
logger=org.apache.commons.logging.impl.Log4JLogger
(2)与Log4J集成
项目地址:http://log4j.apache.org
配置commontemplate.properties:
loggerProvider=org.commontemplate.util.log.Log4jLoggerProvider()
配置log4j.properties:
log4j.rootLogger=DEBUG,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-5p [%d] %C - %m\n
log4j.logger.CommonTemplate=DEBUG
(3)与Avalon集成
项目地址:http://excalibur.apache.org
配置commontemplate.properties:
loggerProvider=org.commontemplate.util.log.AvalonLoggerProvider()
(4)与SLF4J集成
项目地址:http://www.slf4j.org
配置commontemplate.properties:
loggerProvider=org.commontemplate.util.log.Slf4jLoggerProvider()
(5)与JdkLogging集成
项目地址:http://java.sun.com/javase/4/docs/api/java/util/logging/package-summary.html
配置commontemplate.properties:
loggerProvider=org.commontemplate.util.log.JdkLoggerProvider()
|
|
|