【发布时间】:2011-07-10 21:52:56
【问题描述】:
我正在创建内部使用 LOG4j 的自定义日志记录功能类。那些想要使用日志记录功能的类,它传递类的名称。我想知道我如何能够在不将类名传递给它的情况下限制对象创建。我试过但我不确定这是不是正确的方法有吗?
公共类 LoggerObject { 私人 Logger 记录器; 私有静态 LoggerObject loggerobj; 私有常量数据管理器常量数据管理器; //默认 Log4J_FILE 路径 私人 LoggerObject(字符串类名) { 尝试 { DOMConfigurator.configure(this.getClass().getClassLoader().getResource(constantdatamanger.LOG4J_FILE)); logger =Logger.getLogger(className); } 捕捉(异常前) { System.out.println("DOMConfigurator 找不到文件"+ex.getMessage()); } } 公共静态 LoggerObject getLogger(String 类名) { if (loggerobj==null) { loggerobj = new LoggerObject(className); } 返回记录器obj; } 公共无效信息(对象消息) { logger.info(消息); } 公共无效信息(对象消息,Throwable t){ logger.info(消息,t); } 公共无效错误(对象消息){ logger.error(消息); } 公共无效错误(对象消息,Throwable t){ logger.error(消息,t); } 公共无效调试(对象消息){ logger.debug(消息); } 公共无效调试(对象消息,Throwable t){ logger.debug(消息,t); } 公共无效警告(对象消息){ logger.warn(消息); } 公共无效警告(对象消息,Throwable t){ logger.warn(消息,t); } 公共无效致命(对象消息){ logger.fatal(消息); } 公共无效致命(对象消息,Throwable t){ logger.fatal(消息,t); }谢谢
【问题讨论】:
-
限制如何?同时实现 slf4j API 可能会使您的代码更具可移植性。
标签: java