jsp打印日志完整配置
有的需要用:${catalina.base}/logs
src\log\log4j.properties
本配置文件设置了两种日志记录方式,ca代表控制台,drfa代表文本文件,该名称为:lin-error-log.txt,只显示级别为ERROR以上的日志信息。关于这些配置参数,网上很多都有说明,这里仅用了最为常用的参数。
文件内容:
log4j.rootLogger=DEBUG, ca, file
log4j.appender.ca=org.apache.log4j.ConsoleAppender
log4j.appender.ca.layout=org.apache.log4j.PatternLayout
log4j.appender.ca.layout.ConversionPattern=%-5p (%F:%L) # %m%n
# 设定输出位置,此处设定tomcat目录的logs下,文件名为projectLogs.log。
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=${catalina.home}/logs/project_Logs.log
log4j.appender.file.MaxFileSize=1024KB
#org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.Append=true
log4j.appender.file.Threshold = ERROR
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c # %m%n
java类:
package net.jeeshop.core.util;
import java.net.URISyntaxException;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
/**
* 自定义的日志记录类,使用Java的properties文件形式配置Log4j,
* 使用本类的同时还需要一个properties的配置文件,用于配置Log4j的参数
* @author linyiteng
*/
public class LinLog{
static Logger logger;
/**
* 构造方法,对一些基本参数进行设置
* @param className Log4j的实例名称,一般都使用当前操作类的类名,比如一个Test类,就应该设置为:Test.class.getName()
* @param folder 配置文件(.properties)的所在目录
* @param file 配置文件(.properties)的文件名
* @param level 日志记录的级别,1代表DEBUG,2代表INFO,3代表WARN,4代表ERROR,5代表FATAL,其它数字代表ALL,
* 一般代码调试时设置为1,系统上线后设置为3
*/
public LinLog(Stringstring,int level) {
// TODO Auto-generated constructor stub
String path = null;
try {
path = this.getClass().getClassLoader().getResource("").toURI().getPath();
} catch (URISyntaxExceptione) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//web获取路径:
path= path.substring(1).replace("/", "/") ;
PropertyConfigurator.configure(path +"log4j.properties");
setLevel(level);
}
/**
* 设置日志记录的显示级别
* @param level 显示级别,在1-5的范围内,级别越高,表明显示的错误级别越严重,显示的日志记录数越少
*/
private static void setLevel(int level){
switch(level){
case 1:
logger.setLevel(Level.DEBUG);
break;
case 2:
logger.setLevel(Level.INFO);
break;
case 3:
logger.setLevel(Level.WARN);
break;
case 4:
logger.setLevel(Level.ERROR);
break;
case 5:
logger.setLevel(Level.FATAL);
break;
default:
logger.setLevel(Level.ALL);
}
}
/**
* 显示日志记录的开始标志
*/
public static void start(){
getlogger().fatal("----------------------- START -----------------------");
}
/**
* 显示日志记录的结束标志,同时加上两个换行
*/
public static void end(){
getlogger().fatal("----------------------- END ----------------------- ");
}
/**
* 返回一个Log4j的实例对象,非常重要的方法,在调用debug()等记录方法之前须先调用,如this.yiteng().debug("记录内容");
* @return 当前创建的logger对象
*/
public static void error(Objectobj){
getlogger().error(obj);
}
public static Logger getlogger(){
if(logger==null){
logger= Logger.getLogger(LinLog.class);
String path = LinLog.class.getClassLoader().getResource("/").getPath();
//web获取路径:
path = LinLog.class.getClassLoader().getResource("/").getPath();
path= path.substring(1).replace("/", "/") + "/";
PropertyConfigurator.configure(path +"log4j.properties");
setLevel(4);
}
return logger;
}
public static void main(String[]args) {
LinLog.start();
LinLog.getlogger().debug("The level of message is DEBUG");
LinLog.getlogger().info("The level of message is INFO");
LinLog.getlogger().warn("The level of message is WARN");
LinLog.getlogger().error("The level of message is ERROR");
LinLog.getlogger().fatal("The level of message is FATAL");
LinLog.end();
}
}
web.xml配置路径:
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log/log4j.properties</param-value>
</context-param>
\src\log4j.properties
log4j.rootLogger=ERROR, Console,file
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
###DEBUG,ERROR
log4j.logger.java.sql.ResultSet=ERROR
log4j.logger.org.apache=ERROR
###DEBUG,ERROR
log4j.logger.java.sql.Connection=ERROR
log4j.logger.java.sql.Statement=ERROR
log4j.logger.java.sql.PreparedStatement=ERROR
# \u8BBE\u5B9A\u8F93\u51FA\u4F4D\u7F6E\uFF0C\u6B64\u5904\u8BBE\u5B9Atomcat\u76EE\u5F55\u7684logs\u4E0B,\u6587\u4EF6\u540D\u4E3AprojectLogs.log\u3002
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=${catalina.home}/logs/project_Logs.log
log4j.appender.file.MaxFileSize=10240KB
#org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.Append=true
log4j.appender.file.Threshold = ERROR
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c # %m%n
文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jacke121/article/details/54485936
- 点赞
- 收藏
- 关注作者
评论(0)