项目中有个要求是用log4j做日志的记录,但是要求生成的文件名为用户的ip+当天的时间,这就需要动态的生成文件名了,看了下log4j的配置文件没有发现支持的动态文件名的功能。虽说用${}能去到变量,单要求的是必须在读取配置文件前设置变量。最后在网上发现了一个方法,用来动态生成文件名的
import org.apache.log4j.FileAppender; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.log4j.PatternLayout; import org.apache.log4j.RollingFileAppender; public class LoggerUtil { public static Logger getLoggerByName(String name) { // 生成新的Logger // 如果已經有了一個Logger實例返回現有的 Logger logger = Logger.getLogger(name); // 清空Appender。特別是不想使用現存實例時一定要初期化 logger.removeAllAppenders(); // 設定Logger級別。 logger.setLevel(Level.DEBUG); // 設定是否繼承父Logger。 // 默認為true。繼承root輸出。 // 設定false後將不輸出root。 logger.setAdditivity(true); // 生成新的Appender FileAppender appender = new RollingFileAppender(); PatternLayout layout = new PatternLayout(); // log的输出形式 String conversionPattern = "[%d] %p %t %c - %m%n"; layout.setConversionPattern(conversionPattern); appender.setLayout(layout); // log输出路径 // 这里使用了环境变量[catalina.home],只有在tomcat环境下才可以取到 String tomcatPath = java.lang.System.getProperty("catalina.home"); appender.setFile(tomcatPath + "/logs/" + name + ".log"); // log的文字码 appender.setEncoding("UTF-8"); // true:在已存在log文件后面追加 false:新log覆盖以前的log appender.setAppend(true); // 适用当前配置 appender.activateOptions(); // 将新的Appender加到Logger中 logger.addAppender(appender); return logger; } }
原文地址:http://blog.sina.com.cn/s/blog_7101508c0100zh3f.html
相关推荐
在“log4j按功能保存日志”的场景中,我们通常会利用Log4j的配置灵活性,将不同功能的日志分别写入不同的文件,以便于后期分析、排查问题和监控系统状态。 1. **Log4j基本概念** - **Logger**: 日志记录器,是Log4...
2. **使用DailyRollingFileAppender**:`DailyRollingFileAppender`是`log4j`提供的一种特殊Appender,它可以按照指定的时间间隔(通常是每天)滚动生成新的日志文件。我们可以通过以下配置设置每日滚动: ```...
虽然没有提供具体的文件内容,但"log4cpp-1.0"这个文件名可能表示这是Log4cpp的1.0版本,可能是包含源码、库文件、文档等资源的压缩包。通常,这样的包会包含头文件、实现文件、示例代码、配置文件、README文档等,...
它基于Apache Logging Services的log4j项目,并进行了扩展和优化,使其更适应.NET环境。log4net提供了一种灵活的日志记录机制,可以将日志信息输出到不同的目标,例如控制台、文件、数据库等。 #### 二、配置详解 ...
- **日志记录**:为了调试和问题排查,工具类可能整合了如Log4j或Java内置的`java.util.logging.Logger`来进行日志输出。 - **元数据处理**:对于视频文件,可能需要解析或设置元数据,如编码、分辨率、时长等,这...
8. **与其他库的集成**:PDFBox可以与Java的其他库如Log4j(从文件名`PDFBox-0.7.2-log4j.jar`可以看出)进行集成,提高日志记录的效率和质量,帮助调试和优化代码。 在0.7.2版本中,`PDFBox-0.7.2.jar`是主库文件...
SpringBoot默认会在项目根目录生成名为`spring.log`的日志文件,但可以通过以下配置改变路径和文件名: ```properties logging.path=output/logs logging.file=D:/ooodin.log ``` 这样,日志文件会被保存在指定的...
在这个示例中,`generatEncodeTest`方法接收四个参数:文件路径、文件名、编号和手机号。它首先创建一个JSONObject,将这些信息存储为键值对,然后将JSON对象转换为字符串。接着,使用`MultiFormatWriter`创建`...
3. **slf4j-api**:Simple Logging Facade for Java (SLF4J) 提供了一种标准的接口,可以用来插入各种日志框架,如Log4j、Logback等。在JSP项目中,为了跟踪和记录程序运行状态,导入`slf4j-api.jar`是必要的。 4. ...
- 添加依赖项,如Spring Web、Jackson、Log4j2、Jacob等。 - 注意手动安装Jacob至本地Maven仓库。 - **修改配置文件**: - 在`application.yml`中配置服务器端口、日志路径等。 - 配置`log4j2-spring.xml`文件以...
-- 按照每天生成日志文件 --> <!--日志文件输出的文件名--> ${LOG_HOME}/info/info.log.%d{yyyy-MM-dd}.log <!--日志文件保留天数--> <MaxHistory>30 <!--格式化输出:%d表示日期,%thread表示线程名,...
- 在处理错误报告时,开发者通常会用到一系列工具,如文本编辑器(如VS Code, Sublime Text)来查看和编辑源码,日志分析工具(如Logcat, Log4j)来解析错误日志,调试器(如GDB, Visual Studio Debugger)来单步...
1. **引入依赖**:首先,你需要下载并添加 `org.apache.commons.io` 和 `log4j` 的 JAR 包到你的项目类路径中。在本例中,`io` 包版本为 2.2,而 `log4j` 可用于日志记录,提高程序的可调试性。 2. **配置环境**:...
本项目可能使用了Spring Boot的日志集成,如Logback或Log4j,来记录应用的运行日志。同时,为了实现实时日志显示,可能采用了WebSocket技术。WebSocket提供了一种双向通信协议,允许服务器和客户端之间进行持续的、...
第19章 使用log4j进行日志操作 564 19.1 log4j介绍 564 19.1.1 logger组件 564 19.1.2 appender组件 566 19.1.3 layout组件 567 19.2 使用log4j 568 19.3 log4j使用实例 572 19.4 ndc和mdc 585 19.5 小结 ...
10. **日志记录**:通过Log4j或SLF4J等日志框架记录系统运行状态和错误信息,有助于调试和问题追踪。 总的来说,一个基于Java和JSP的文件管理系统结合了后端处理、Web展示和数据库操作,实现了文件的高效管理。在...
5. **logging**: 日志记录库,如log4j或slf4j,用于记录SDK执行过程中的信息和错误。 实现七牛图片上传的基本步骤如下: 1. **注册账号与创建空间**:首先,你需要在七牛官网上注册一个账号,然后创建一个存储空间...
可以使用Java的`java.util.logging`或者Log4j等库。 9. **前端交互**:前端通常使用HTML5的`<input type="file">`标签让用户选择文件,并使用JavaScript或jQuery处理文件选择事件,将文件数据通过Ajax提交给后端。 ...
- **Jakarta Commons Logging**: 提供日志记录服务,允许Hibernate使用各种日志框架(如log4j, java.util.logging)。 - **JTA (Java Transaction API)**: 支持分布式事务处理,如JBOSS Transactions或Atomikos等...
若要保存变量,可以使用Mat文件,例如`save 文件名 变量名表`来将变量保存到磁盘。 ChMatLab提供了丰富的数学函数,包括平方根函数(sqrt)、自然对数函数(log)、常用对数函数(log10)、2的幂次函数(2^x)、...