自定义日志输出类log4j
来源:互联网 发布:知乎怎么查看我的收藏 编辑:程序博客网 时间:2024/06/08 12:37
以下是我自己写的一个日志类,写这个类的初衷是为了规范项目组各个组员的日志输出格式规范,为以后日志查看分析提供方便,在代码生成器里加入这个日志类的引用,这样就可以很好的避免组员自己直接调用原生的日志框架。在这里贴出了一是为了自己做备份,二也是让大家看看是不是有哪里写的不好可以改进下,如果不喜欢千万别喷,程序员很胆小的,谢谢。
import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.ConcurrentMap;import org.slf4j.Logger;import org.slf4j.LoggerFactory;/** * * @author 小锋 * */public class MyLogger { private Logger LOGGER; // 多线程使用ConcurrentMap private static ConcurrentMap<Class<?>, MyLogger> conMap = new ConcurrentHashMap<Class<?>, MyLogger>(); public static MyLogger getMyLogger(Class<?> clazz){ if(conMap.containsKey(clazz)){ return conMap.get(clazz); } synchronized(MyLogger.class){ new MyLogger().initMyLogger(clazz); } return conMap.get(clazz); } /** * 创建MyLogger * @param clazz * @return */ public void initMyLogger(Class<?> clazz){ synchronized(MyLogger.class){ MyLogger log = new MyLogger(); log.setLOGGER(LoggerFactory.getLogger(clazz)); conMap.put(clazz, log); } } //***************************************// //*** 日志操作方法自行添加 ***// //**************************************// /** * 普通info日志 * * @param content 日志内容 */ @Deprecated public void info(String content) { LOGGER.info(content); } /** * 普通error日志 * * @param content 日志描述内容 * @param t -异常信息 */ @Deprecated public void error(String content, Throwable t) { LOGGER.error(content, t); } @Deprecated public void error(String content) { LOGGER.error(content); } /** * 记录请求日志 * * @param requestId 请求标识 * @param requestDesc 调用描述 * @param requestContent 请求内容 */ public void info(String requestId, String requestDesc, String requestContent) { LOGGER.info(getContent(requestId, requestDesc, requestContent)); } /** * 记录请求日志 * * @param requestId 请求标识 * @param requestDesc 调用描述 * @param requestContent 请求内容 */ public void requestLog(String requestId, String requestDesc, Object requestContent) { LOGGER.info("Request -> " + getContent(requestId, requestDesc, requestContent)); } public void requestLog(String requestId, String requestDesc) { requestLog(requestId, requestDesc, requestDesc); } /** * 记录返回日志 * * @param requestId 请求标识 * @param requestDesc 调用描述 * @param requestContent 请求内容 */ public void responseLog(String requestId, String requestDesc, String requestContent) { LOGGER.info("Response-> " + getContent(requestId, requestDesc, requestContent)); } public void responseLog(String requestId, String requestDesc) { responseLog(requestId, requestDesc, requestDesc); } /** * 记录返回日志 * * @param requestId 请求标识 * @param requestDesc 调用描述 * @param requestContent 请求内容 * @param t 异常信息 */ public void error(String requestId, String requestDesc, String requestContent, Throwable t) { LOGGER.error("Exception->" + getContent(requestId, requestDesc, requestContent), t); } public void error(String requestId, String requestDesc, Throwable t) { error(requestId, requestDesc, requestDesc, t); } public void error(String requestId, String requestDesc) { LOGGER.error("Exception->" + getContent(requestId, requestDesc, requestDesc)); } private String getContent(String requestId, String requestDesc, Object requestContent) { return "id=" + requestId + ", description=" + requestDesc + ", content=" + requestContent; } public Logger getLOGGER() { return LOGGER; } public void setLOGGER(Logger lOGGER) { LOGGER = lOGGER; }}
阅读全文
0 0
- 自定义日志输出类log4j
- log4j自定义html输出日志
- Hadoop自定义输出日志log4j
- log4j输出多个自定义日志文件
- log4j输出多个自定义日志文件
- log4j输出多个自定义日志文件
- log4j输出多个自定义日志文件
- log4j输出多个自定义日志文件
- log4j输出多个自定义日志文件
- log4j输出多个自定义日志文件
- log4j输出多个自定义日志文件
- log4j输出多个自定义日志文件
- Log4j的进阶使用-自定义类和+自定义输出日志类型+输出文件
- Log4j的进阶使用-自定义类和+自定义输出日志类型+输出文件
- 自定义Appender ,实现输出log4j日志到GUI
- log4j输出多个自定义日志文件,动态配置路径
- log4j输出多个自定义日志文件,动态配置路径
- log4j输出多个自定义日志文件,动态配置路径
- java 读取clob,blob转换为字符串
- UML大战需求分析-读书笔记
- java mongo $where
- 戴尔的下一代数据中心战略将会取得成功
- 博士生活与博客
- 自定义日志输出类log4j
- Windows编程一日一练(1)
- http错误代码含义
- 基于angular的退出全屏,全屏显示以及关闭系统
- JDK的下载安装与配置全局环境变量
- C#技巧【调用线程无法访问此对象,因为另一个线程拥有该对象的问题的解决办法】
- POJ 2230
- ABBYY FineReader 14检测不到条形码怎么办?
- aop:aspectj-autoproxy 标签解析