我们在项目中可能需要一些日志文件。是动态生成的(配置文件是静态的,打印全局的log)。比如我们按照类别来收集用户输入的内容。一个类别一天一个文件。 这时候就可以用代码调用Log4j来生成
我们先自定义的LogFactory
package com.bj58.zhaoren.sou.utils; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import org.apache.log4j.DailyRollingFileAppender; import org.apache.log4j.Layout; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.log4j.PatternLayout; import org.apache.log4j.spi.LoggerFactory; /** * 自定义日志工厂 * @date 2016年3月24日 * @author shencl */ public class MyLogFactory implements LoggerFactory { private static Map<String, MyLogFactory> map = new ConcurrentHashMap<String, MyLogFactory>(); private String path; private MyLogFactory() { } private MyLogFactory(String path) { this.path = path; } /** * 保证一个路径只产生一个MyLogFactory */ public synchronized static MyLogFactory getInstance(String path){ if (map.get(path) != null) { return map.get(path); } return new MyLogFactory(path); } @Override public Logger makeNewLoggerInstance(String name) { Logger log = Logger.getLogger(name); log.setLevel(Level.INFO); Layout layout = new PatternLayout("[%d{MM-dd HH:mm:ss,SSS}] %c{10} - %m%n"); try { if (path != null && !path.equals("")) { DailyRollingFileAppender fileappender = new DailyRollingFileAppender(layout, path, "'.'yyyy-MM-dd"); log.addAppender(fileappender); } } catch (Exception e) { e.printStackTrace(); } return log; } }
然后看怎么调用
package com.bj58.zhaoren.sou.utils; import org.apache.log4j.Logger; /** * @author shencl */ public class LogTest { private static String path = "d:/logs/query/skill.log"; public static void main(String[] args) { Logger l = Logger.getLogger(LogTest.class.getName(), MyLogFactory.getInstance(path)); l.info("aaaaa"); } }
日志文件在 D:\logs\query\skill.log
输出 [03-15 11:31:23,131] com.bj58.zhaoren.sou.utils.LogTest - aaaaa
相关推荐
名字生成log脚本exe
自动ping并生成log报告。 默认是ping天津电信DNS,可右键单击后编辑,把219.150.32.132改成你需要去ping的IP即可。 注:尽量不要改文件名和其他参数。
利用java代码实现 生成批量log日志文件
C#生成带Log的二维码图片,只需传入要生成二维码的图片,以及你自己的LOG图片,即可生成带LOG的二维码图片
NULL 博文链接:https://yxhcquedu.iteye.com/blog/1217830
log4net 配置 根据日期生成 文件 根据 分类 (INFO、ERROR) 生成文件 不同的日期可以生成不同的文件,INFO、ERROR生成单独的文件
连续PING多个IP地址,生成log文件,可以用于检测局域网内一个网段都有哪些IP在使用!
1、概述 log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的...<param name="File" value="C:/log-file.txt" />就写入C盘根目录下log-file.txt文件中
生成动态日志文件名 及 动态生成文件夹
生成 Log 函数 的工程,用于生成 Log 的代码
本人在项目中总结的一点小经验 关于log4j动态配置的一些方法和心得
在log4cpp下载的包基础上添加按日期生成日志类,仅供学习和交流
NULL 博文链接:https://1017401036.iteye.com/blog/2332210
log4j按照不同appender生成日志例子,log4j按照不同接口生成各自日志文件小例子。
51实验1用Matlab生成LOG算子的图像.pdf
通过log4j扩展包实现生成带时间戳的日志文件(其中包含extras包以及简单demo)
Apache log4j2零日漏洞,根据 log4j-2.15.0-rc2 版本编译生成log4j-api-2.15.0.jar 1.解压你的jar jar xvf XXX.jar 2. 删除旧版本jar cd ./BOOT-INF/lib rm -rf log4j-api-*.jar 3. 上传新版本log4j-api-2.15.0....
这个demo是一个批量生成nginx日志文件的工具类,当然跟真实的稍微有点区别,你可以改进一下,使他更完美,里面包含一个txt文件,你可以看到效果
Apache log4j2零日漏洞,根据 log4j-2.15.0-rc2 版本编译生成log4j-api-2.15.0.jar 1.解压你的jar jar xvf XXX.jar 2. 删除旧版本jar cd ./BOOT-INF/lib rm -rf log4j-api-*.jar 3. 上传新版本log4j-api-...