log4j 日志输出
1.日常导包(添加依赖)
可从官网上下载该依赖包log4j-x.x.xx.jar,下载后 build path,添加依赖包
2.添加log4j属性文件 log4j.properties (也可以是xml配置文件,暂时不会)
### set log levels ###
log4j.rootLogger = INFO, Console, E
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n
log4j.appender.E = org.apache.log4j.RollingFileAppender
log4j.appender.E.File = ${cjqProject}WEB-INF/logs/cjq.log //此为相对路径
### log4j.appender.E.File = G:/logs/cjq.log ###
log4j.appender.E.Append = true
### log4j.appender.E.Threshold = ERROR ###
log4j.appender.E.Threshold = INFO
log4j.appender.E.MaxFileSize = 10MB
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss} [ %l\:%c\:%t\:%r ] - [ %p ] %m%n
### log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n ###
3.在web.xml文件中 配置 加载 log4j.properties的属性
<!-- 加载log4j的配置文件log4j.properties --> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/log4j.properties</param-value> </context-param> <!-- 设定刷新日志配置文件的时间间隔,这里设置为10s --> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>10000</param-value> </context-param> <!-- 加载Spring框架中的log4j监听器Log4jConfigListener --> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> <!-- 为避免项目间冲突,定义唯一的 webAppRootKey --> <context-param> <param-name>webAppRootKey</param-name> <param-value>cjqProject</param-value> </context-param>
4.实例应用
import org.apache.log4j.Logger;
//本地日志记录对象
private static Logger logger = Logger.getLogger(LoginController.class);
logger.info(account+"账号已存在,注册失败!");
5.生成的日志文件 可使用绝对路径 该例子使用的是相对路径 所有生成的文件在tomcat发布的项目里 地址与属性文件的相关值有关 如下图
注:
1.第二种日志slf4j:SLF4J不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。
2.加载配置文件或者属性文件的两种方式