- 浏览: 580851 次
- 性别:
文章分类
- 全部博客 (141)
- java (33)
- spring (6)
- struts2 (4)
- log4j (1)
- sql (8)
- oracle (11)
- 设计模式 (2)
- jsp (2)
- 谈学习 (5)
- gson (3)
- svn (1)
- lucene (1)
- 杂谈 (7)
- hibernate (5)
- play framework (4)
- 页面前端 (16)
- linux (9)
- tomcat (2)
- php (2)
- maven实战 (4)
- HornetQ (1)
- SAE (1)
- Hessian (2)
- 应用 (11)
- 在北京生活感悟 (2)
- apache (1)
- BI (1)
- hadoop系列 (1)
- mongodb (1)
- cache (1)
- 数据结构 (1)
- hive (1)
最新评论
-
AK472AK47:
...
gson java对象与json转换(实例代码说明及教程) -
TryRelax:
update t_h5activity_pagedata ...
mysql update更新带子查询的实现方式 -
CurryKobe:
js中的三大特性:继承、封装、多态 -
bruce.yuan:
一看 tps为168k次/秒 ,我就觉得不专业了 。请把完整的 ...
rpc介绍 -
一抹暗香:
牛逼!
去掉IE浏览器滚动条最简单的方法
需求:log4j动态生成日志文件(根据不同的编号生成不同的日志文件)
一:我写了一个公用类LogUtil
public class LogUtil {
/**
*
* 动态改变日志输出路径
* @author yangliang
* @created 2011-9-17 下午03:22:41
* @param comId:商家编号
*/
public static void WriteLog(String comId) {
// 初始化logger后,通过获取logger的appender,来修改appender写入文件的文件名
Appender appender = Logger.getRootLogger().getAppender("file");
if (appender instanceof FileAppender) {
FileAppender fappender = (FileAppender) appender;
// 设置文件的输出路径
// fappender.setFile("D:/" + comId + ".log");
fappender.setFile(Constant.LOGPATH + comId + ".log");
// 通过调用appender的activateOptions方法来激活针对appender的修改,
// 之后的日志就记录在新的日志文件中了
fappender.activateOptions();
}
}
}
二:如何调用
// comId 需要传入的商家编号
String comId = "yangliang";
LogUtil.WriteLog(comId);
for (int i = 0; i < 3; i++) {
log.info("-----测试log4j--------- ");
log.error(" ----测试log4j--------- ");
}
在记录日志的时候好多时候与异常一起使用,如:
try {
orgList = registeredcardService.queryOrgs();
} catch (Exception e) {
String errormsg = "记名卡查询注册门店失败";
log.error(errormsg);
log.error(e.getCause());
throw new Exception(errormsg,e);
}
三:下面是我写的一个测试类
public class TestLog {
public static void main(String[] args) {
PropertyConfigurator.configure("D:/log4j.properties");// 读取log4j配置文件
Logger logger = Logger.getLogger(TestLog.class);
String comId = "yangliang";// 根据需求的不同输出到不同的日志文件
// 初始化logger后,通过获取logger的appender,来修改appender写入文件的文件名
Appender appender = Logger.getRootLogger().getAppender("file");
if (appender instanceof FileAppender) {
FileAppender fappender = (FileAppender) appender;
fappender.setFile("D:/log/" + comId + ".log");
// 通过调用appender的activateOptions方法来激活针对appender的修改,之后的日志就记录在新的日志文件中了
fappender.activateOptions();
}
for (int i = 0; i < 3; i++) {
logger.info("-----测试log4j--------- ");
logger.error(" ----测试log4j--------- ");
}
}
}
一:我写了一个公用类LogUtil
public class LogUtil {
/**
*
* 动态改变日志输出路径
* @author yangliang
* @created 2011-9-17 下午03:22:41
* @param comId:商家编号
*/
public static void WriteLog(String comId) {
// 初始化logger后,通过获取logger的appender,来修改appender写入文件的文件名
Appender appender = Logger.getRootLogger().getAppender("file");
if (appender instanceof FileAppender) {
FileAppender fappender = (FileAppender) appender;
// 设置文件的输出路径
// fappender.setFile("D:/" + comId + ".log");
fappender.setFile(Constant.LOGPATH + comId + ".log");
// 通过调用appender的activateOptions方法来激活针对appender的修改,
// 之后的日志就记录在新的日志文件中了
fappender.activateOptions();
}
}
}
二:如何调用
// comId 需要传入的商家编号
String comId = "yangliang";
LogUtil.WriteLog(comId);
for (int i = 0; i < 3; i++) {
log.info("-----测试log4j--------- ");
log.error(" ----测试log4j--------- ");
}
在记录日志的时候好多时候与异常一起使用,如:
try {
orgList = registeredcardService.queryOrgs();
} catch (Exception e) {
String errormsg = "记名卡查询注册门店失败";
log.error(errormsg);
log.error(e.getCause());
throw new Exception(errormsg,e);
}
三:下面是我写的一个测试类
public class TestLog {
public static void main(String[] args) {
PropertyConfigurator.configure("D:/log4j.properties");// 读取log4j配置文件
Logger logger = Logger.getLogger(TestLog.class);
String comId = "yangliang";// 根据需求的不同输出到不同的日志文件
// 初始化logger后,通过获取logger的appender,来修改appender写入文件的文件名
Appender appender = Logger.getRootLogger().getAppender("file");
if (appender instanceof FileAppender) {
FileAppender fappender = (FileAppender) appender;
fappender.setFile("D:/log/" + comId + ".log");
// 通过调用appender的activateOptions方法来激活针对appender的修改,之后的日志就记录在新的日志文件中了
fappender.activateOptions();
}
for (int i = 0; i < 3; i++) {
logger.info("-----测试log4j--------- ");
logger.error(" ----测试log4j--------- ");
}
}
}
发表评论
-
linux安装jdk1.7.0_67
2014-08-09 15:21 3005JDK安装配置 1、 下载jdk,本例使用jdk-7u67 ... -
JAVA正则表达式匹配,替换,查找,切割
2014-06-20 17:46 1566import java.util.ArrayList; i ... -
ip正则验证
2014-05-15 19:06 591/** * 正则判断ip是否合法 ... -
快速排序及java实现
2014-05-12 11:38 8781)基本思想:选择一个基准元素,通常选择第一个元素或者最后一 ... -
java 冒泡排序例子
2014-02-18 09:25 1093按照由大到下的顺序排列。 public class Bub ... -
推荐使用枚举定义常量
2014-01-24 14:48 3864枚举是在Java1.5版本后出现的,它与类常量和静态常量相 ... -
java 优先选择基本类型
2014-01-23 17:02 1065建议29: 优先选择基本类型 包装类型是一个类,它提供了 ... -
java去除字符串中的空格、回车、换行符、制表符
2013-11-04 10:30 1627java去除字符串中的空 ... -
jdk环境变量配置 windows
2013-08-21 09:13 1013每次换电脑的时候都查一下,还是记录一下啦 1、下载jdk( ... -
用HttpClient模拟HTTP的GET和POST请求
2013-08-08 11:37 2708一、HttpClient介绍 HttpClient是 ... -
array set相互转换
2013-08-08 10:52 1210//array -->set --->array ... -
java 交换两个变量的值
2013-06-13 09:47 1574前段时间被问到这个问题,我还没太注意,在这里记录一下。 ... -
java 正则表达式
2013-06-11 15:22 1043用到正则时,可以来参考一下,看api最好了,里面都有 pu ... -
java性能监控与分析
2013-02-28 17:06 885一:关于虚拟机的性能监控与工具介绍,我觉得这篇文章介绍的挺好 ... -
由内存溢出引起的深入java之旅
2013-02-26 14:51 944背景:前段时间遇到内存溢出这个问题,就想好好的分析一下原因 ... -
java内存溢出(分析原因)
2013-01-22 10:21 1465最近遇到了这个问题:java.lang.OutOfMemor ... -
memcached for windows32
2012-08-07 16:24 1152Windows下的Memcache安装 : 1. 下载 ... -
ThinkPHP VS Play Framework
2012-04-17 21:04 1319最近看ThinkPHP,确实做的很好,php非常流行。 ... -
java 对象属性和数据库字段之间的转换
2012-03-24 10:10 3372public class FieldPropertyConve ... -
Toggle Mark Occurrenses(alt+shift+o)
2012-03-14 15:17 3888这段时间在eclipse中,选中一个字段或者一个方法,那么在 ...
相关推荐
Log4j是Apache提供的一款广泛使用的日志框架,它提供了丰富的功能和灵活的配置,使得我们可以根据需要动态地改变日志的输出路径。本文将深入探讨如何在Log4j中实现日志输出路径的动态配置。 首先,我们要理解Log4j...
1. **配置文件**:Log4j的配置文件通常是`log4j.properties`或`log4j.xml`,它定义了日志的级别(如DEBUG、INFO、WARN、ERROR、FATAL)、输出目的地(控制台、文件、数据库等)以及布局格式。 2. **日志类**:在...
通过以上步骤,你可以在Tomcat环境中成功地使用Log4j接管日志生成。记住,合理配置日志级别和输出位置,可以有效地辅助开发和维护,避免日志信息过于繁杂,同时保证关键信息不被遗漏。 此外,你可能还需要注意一些...
默认情况下,Log4j的日志文件名通常是固定的或者基于时间戳生成的。然而,我们可以创建一个自定义的`org.apache.log4j.FileAppender`子类来覆盖默认行为。这个子类可以重写`setFile()`方法,根据业务逻辑来决定...
2. **配置Log4j**: 在Android中,通常通过XML配置文件(如`log4j.properties`或`log4j.xml`)来设置Log4j的行为,包括设置日志级别、定义Appender和Layout等。 3. **创建Logger**: 在代码中,通过`org.apache.log4j...
5. **重启 Tomcat**:重启 Tomcat 后,相应的日志文件将按照 `log4j.properties` 文件中的设置生成。 **优点**:灵活性高,可以针对每个应用定制化日志配置;便于管理和追踪。 **总结**:根据项目的需求选择合适的...
Log4j是一款广泛使用的Java日志记录框架,它允许开发者按照功能模块或特定需求记录应用程序运行过程中的事件信息。在“log4j按功能保存日志”的场景中,我们通常会利用Log4j的配置灵活性,将不同功能的日志分别写入...
本文将深入探讨如何使用Log4j生成带有时间戳的日志文件,同时还会涉及到extras包的使用以及一个简单的示例。 1. **Log4j基本概念** - **日志级别**:Log4j支持多种日志级别,包括DEBUG、INFO、WARN、ERROR和FATAL...
本示例将深入讲解如何利用Log4j的不同Appender来生成不同的日志文件,以满足不同接口或模块的日志记录需求。 首先,我们需要理解什么是Appender。在Log4j中,Appender是负责将日志信息输出到特定目的地的组件,如...
总结来说,WebLogic中使用Log4j生成日志文件涉及配置Log4j,将其集成到WebLogic环境,然后在代码中使用日志API。这个过程可以帮助开发者更好地跟踪系统运行情况,定位问题,优化性能,从而提高整体运维效率。通过...
以下是对Log4j日志的详细讲解: 首先,要在项目中启用Log4j,需要创建一个名为`log4j.properties`的配置文件,将其放在`classes`目录下。这个文件用于定义Log4j的行为,包括日志的级别、输出目的地、格式等。 1. *...
本文将深入探讨如何利用Log4j生成动态的日志文件名以及动态创建文件夹,帮助开发者更好地管理和分析应用程序的运行状态。 Log4j是一款功能强大的开源日志组件,它允许程序员灵活地控制日志信息的输出级别,如DEBUG...
Log4j 是一个广泛使用的日志记录工具,能够帮助开发者跟踪应用程序运行过程中的信息、警告、错误等事件。本文将深入探讨如何在 MyBatis 中配置 Log4j,实现日志同时输出到后台控制台和文件。 1. **日志框架集成** ...
在实际开发中,根据项目规模和需求,可能还需要考虑日志归档、日志级别动态调整、日志过滤等功能,这些都是`log4j`强大的灵活性所在。同时,了解这些配置也有助于我们更好地理解和使用其他类似的日志框架,如`...
本文将详细介绍如何在Android Studio中使用log4j库来记录日志,并实现按照日志文件大小自动滚动的功能,以及如何进行日志内容的格式化输出。 首先,log4j是一款广泛使用的日志记录框架,它提供了灵活的日志配置和...
这时,我们可以使用Log4j这个强大的日志框架来接管Tomcat的日志生成方式,实现更精细的日志控制和管理。 首先,Log4j是Apache的一个开源项目,提供了一种灵活的日志记录系统,允许开发者自定义日志级别、输出格式、...
在Tomcat中配置Log4j,可以实现按照文件大小生成日志文件,如`catalina.out`,从而避免单个日志文件过大导致的管理不便。 首先,我们需要理解Log4j的工作原理。Log4j主要包括三个核心组件:Logger(日志器)、...
在使用Log4j记录Debug日志时,确保项目中引入了相应的Log4j库,并正确配置了`log4j.properties`或`log4j.xml`文件,设置DEBUG级别,然后在代码中使用Logger对象进行日志记录。例如: ```java import org.apache.log4...
每天生成一个log4j日志文件,如果只需要将最近一段时间内的日志文件保留,以前或更早的文件不用保留。例如只保留最近一周的日志,日志文件保留3天等等这些。。。通过这个jar包就可以实现。 log4j.properties文件在...
Log4j2相比Log4j 1.x有许多改进,包括性能提升、更丰富的配置选项、异步日志记录支持以及动态日志配置等。 在Tomcat 9中配置SLF4J和Log4j2,你需要以下步骤: 1. **添加依赖**:确保你的项目中包含SLF4J和Log4j2的...