log4j.xml 配置系统日志 详细请参考www.cezuwang.com
1 定义log4j.xml
<!-- 输出日志到文件 文件大小到达指定尺寸的时候产生一个新的文件 -->
<appender name="appServerLog" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logs/AppServerLog.log"></param>
<param name="ImmediateFlush" value="true"/>
<param name="Threshold" value="info"></param>
<param name="Append" value="true"></param>
<param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
<param name="MaxFileSize" value="102400KB"></param>
<param name="MaxBackupIndex" value="100"></param>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss,SSS} %p [%c-%M-%L]:%m%n"></param>
</layout>
</appender>
2 定义spring 日志切面
<!-- 日志切面类 -->
<bean id="logInterceptor" class="com.utcip.server.common.interceptor.AppServiceInterceptorLog"/>
<aop:config>
<aop:aspect id="securityAspect" ref="logInterceptor">
<aop:pointcut id="logMethod" expression="execution(* com.utcip.server.*.service.impl.*.*.*(..)) and args(..)"/>
<aop:before method="beforeMethod" pointcut-ref="logMethod"/>
<!-- <aop:after method="afterMethod" pointcut-ref="logMethod"/> -->
</aop:aspect>
</aop:config>
/**
* 接口日志切面
* @author jingfangnan
*
*/
public class AppServiceInterceptorLog {
/**
* 前置切入
*/
public void beforeMethod(JoinPoint jp){
String className = jp.getSignature().getDeclaringTypeName();
String methodName = jp.getSignature().getName();
Object[] args = jp.getArgs();
AppServiceLog.info("on {} the params of {}.{} is {} ",AppUtils.getDisplayDate(new Date()),
className,methodName,
Arrays.toString(args));
}
/**
* 后置切入
*/
public void afterMethod(JoinPoint jp){
String className = jp.getSignature().getDeclaringTypeName();
String methodName = jp.getSignature().getName();
Object[] args = jp.getArgs();
AppServiceLog.info("on {} the result is{}",AppUtils.getDisplayDate(new Date()),
className,methodName,
Arrays.toString(args));
}
}
3 日志切面中 引用log4j.xml 定义的日志标记
/**
* 接口自定义日志输出
* @author jingfangnan
*
*/
public class AppServiceLog {
/** The log. */
private final static Logger log = LoggerFactory.getLogger(LoggerSpecialEnum.AppServerLog.value());
public static void log(String value, Object ... params){
log.debug(value,params);
}
public static void info(String value, Object ... params){
log.info(value,params);
}
public static void warn(String value, Object ... params){
log.warn(value,params);
}
public static void error(String message,Exception e){
log.error(message,e);
}
public static void error(String message, Object ... params){
log.error(message, params);
}
public static boolean isInfoEnabled(){
return log.isInfoEnabled();
}
}
4 日志打印输出类中 引用log4j.xml 中的定义
/**
* 日志枚举
* @author jingfangnan
*
*/
public enum LoggerSpecialEnum {
// 接口类日志
AppServerLog("appServerLog", "自定义接口日志")
;
private final String value;
private final String desc;
private LoggerSpecialEnum(final String value, final String desc) {
this.value = value;
this.desc = desc;
}
public String value() {
return this.value;
}
public String desc() {
return this.desc;
}
}
至此 就可以在指定的层面打印出相关日志了
分享到:
相关推荐
1. **XML配置** (`log4j.xml`) - **基本结构**:`log4j.xml`文件遵循XML语法,根元素是`<configuration>`,包含`<appenders>`, `<loggers>`, `<root>`等子元素。 - **Appenders**:这是定义日志输出目标的地方,...
4. **通过web.xml配置Log4j** - 在web.xml中,我们可以使用`<context-param>`标签来指定Log4j配置文件的位置,例如: ```xml <param-name>log4jConfigLocation <param-value>/WEB-INF/classes/log4j....
以上内容详细介绍了Log4j.jar的核心组件和log4j.xml配置文件的作用,它们共同构成了Log4j日志框架的基础。通过合理的配置和使用,Log4j能够为开发者提供强大且灵活的日志管理能力,帮助他们更好地监控和维护Java应用...
*灵活的配置:Log4j2 提供了非常灵活的配置机制,可以根据需要定义不同的日志级别、输出格式和文件名等属性。 *高性能:Log4j2具有非常高的性能,可以handle大量的日志信息。 *灵活的appender:Log4j2 提供了多种...
总结,Log4j2通过XML配置文件实现了与MySQL数据库的集成,允许开发者将日志信息存储在数据库中,便于长期保存和分析。理解Log4j2的配置和使用是每个Java开发者必备的技能,这对于日后的故障排查和系统维护至关重要。...
标题中的“Log4J.xml”指的是Apache Log4j框架的配置文件。...如果这个文件是关于日志分析或配置的一部分,那么它可能包含了某个系统的日志记录或页面展示内容,但这超出了Log4J.xml配置文件的讨论范围。
这里提到的四个关键配置文件——`spring-mvc.xml`、`spring-mybatis.xml`、`web.xml`以及`log4j.properties`,对于一个基于Java的Web应用来说至关重要,特别是使用Spring MVC和MyBatis框架的时候。接下来,我们将...
理解并熟练运用log4j.xml配置文件,能够使日志记录更加灵活、高效,便于调试和问题排查。通过调整不同的配置,我们可以控制日志的级别、格式、输出位置,以及过滤不必要信息,从而优化应用性能,提高开发效率。 ...
本篇文章将深入探讨这两个关键组件:日志配置文件`log4j.xml`和MySQL数据库驱动文件`mysql-connector-java-5.1.39-bin.jar`。 首先,我们来了解`log4j.xml`。Log4j是Apache组织提供的一款开源的日志记录框架,广泛...
log4j 的配置文件示例 log4j是很好用的日志,建议项目里面都用上.
Log4j 是一个功能强大且广泛使用的日志记录工具,特别是在 SSM(Spring、Spring MVC、Mybatis)整合项目中,合理地配置 Log4j 对项目的日志记录和输出至关重要。本文将详细介绍 SSM 整合中的 Log4j 配置详情,帮助...
Apache Log4j是Java领域广泛使用的日志框架,它允许自定义日志级别、格式和输出位置。在这个场景中,我们将讨论如何通过`log4j.xml`配置文件来实现日志的自动化配置。 首先,我们创建了一个名为`Log4...
解压“log4j.zip”后,我们通常会找到一个名为“log4j.properties”或“log4j.xml”的配置文件,这是Log4j的核心配置文件。例如,以下是一个简单的配置示例: ```properties # log4j.properties log4j.rootLogger=...
### 关于Log4j.xml配置文件的理解与应用 #### 一、引言 在Java开发领域,日志记录是至关重要的一个环节。它不仅能够帮助开发者更好地了解程序运行时的状态,还能在出现故障时快速定位问题所在。Log4j作为一款优秀...
除了使用`log4j.properties`文件外,还可以通过XML文件来配置日志文件的路径。与`properties`文件类似,XML文件也支持变量的使用。 ##### 示例配置 ```xml <appender name="logfile" class="org.apache.log4j....
每天生成一个log4j日志文件,如果只需要将最近一段时间内的日志文件保留,以前或更早的文件不用保留。例如只保留最近一周的日志,日志文件保留3天等等这些。。。通过这个jar包就可以实现。 log4j.properties文件在...
2. **配置日志级别**:在`log4j.properties`文件中,定义不同级别的日志,如`DEBUG`、`INFO`、`WARN`、`ERROR`和`FATAL`。例如: ``` log4j.rootLogger=DEBUG, Console, File ``` 3. **定义输出目的地**:你可以...
- 在Log4j的配置文件(通常是`log4j.properties`或`log4j.xml`)中,你可以定义多个Appender,每个Appender对应一个特定的功能或模块。 - 使用`category`或`logger`标签指定Logger的名称,这通常与你的功能模块相...
Log4j支持XML格式和properties属性文件格式的配置文件。以properties属性文件为例,配置文件一般包括Logger、Appender和Layout三个部分的配置。对于Logger,可以通过设置根Logger来指定日志输出的最低级别和目的地。...
log4j2的配置文件