Log4j2打印一行日志时返回本行日志的字符串
2017-03-29 16:26
344 查看
import org.apache.logging.log4j.Level; import org.apache.logging.log4j.core.impl.Log4jLogEvent; import org.apache.logging.log4j.core.layout.PatternLayout; import org.apache.logging.log4j.message.SimpleMessage; /** * Created by lanhuajian on 2017/3/29. */ public class StringLogger { private String loggerName; private static String FQCN = StringLogger.class.getName(); private static final PatternLayout PATTERN_LAYOUT = PatternLayout.newBuilder() .withPattern("%d %t %-5p [%c]%L %m%n") .build(); private StringLogger(String loggerName) { this.loggerName = loggerName; } public static StringLogger getLogger(Class loggerClass) { return new StringLogger(loggerClass.getName()); } public static StringLogger getLogger(String loggerName) { return new StringLogger(loggerName); } public String info(String msg) { return PATTERN_LAYOUT.toSerializable(buildEvent(msg, Level.INFO)); } public String warn(String msg) { return PATTERN_LAYOUT.toSerializable(buildEvent(msg, Level.WARN)); } public String debug(String msg) { return PATTERN_LAYOUT.toSerializable(buildEvent(msg, Level.DEBUG)); } public String error(String msg) { return PATTERN_LAYOUT.toSerializable(buildEvent(msg, Level.ERROR)); } private Log4jLogEvent buildEvent(String msg, Level level) { return Log4jLogEvent.newBuilder() .setIncludeLocation(true) .setLoggerName(loggerName) .setLoggerFqcn(FQCN) .setLevel(level) .setMessage(new SimpleMessage(msg)) .build(); } }
相关文章推荐
- 使用Retrofit打印请求日志,过滤改变服务器返回结果,直接获取String字符串
- 【C语言】《C和指针》打印文件中的最长的一行字符串
- 日志打印到屏幕同时保存到文件及获取管道返回状态
- log4j2 配置(mybatis | 日志分级 | 打印指定类SQL)
- 日志打印到屏幕同时保存到文件及获取管道返回状态
- log4j2日志异步打印(实例讲解)
- js 中方便调试 打印日志 -- 将json 和字符串互转
- 启动程序实现很简单的功能在屏幕中央 ;打印一行字符串(汇编+c+red hat linux实现)
- log4j2打印出spring和struts2的日志
- Android 日志打印可追溯到某一行
- 使用log4j2打印日志
- 取eclipse console 打印字符串,判断日志是否有异常
- log4j2 异步多线程打印日志
- idea中使用log4j2打印日志
- json字符串转Bean和List时候打印Date的WARN级别日志
- log4j2日志异步打印 (3)
- Retrofit2.0添加日志拦截器打印URL一级返回数据
- 根据服务器端返回的字符数组,展示字符串标签,需要涉及字符串长度处理以及字符串换行,字符串不够一行自动跳到第二行的逻辑
- Java中打印出来完全相同的两个字符串,用equals方法比较返回的却是false的原因
- PHP 为你提供一个叫__toString() 的函数,你可以用它来返回表示对象的字符串信息,而且一旦定义它,打印命令将调用它并打印出返回的字符串。