程序中使用log4J打印信息的两种方式

(1)通过org.apache.commons.logging.Log 接口实例化:

public static Log log = LogFactory.getLog(String name);
public static Log log = LogFactory.getLog(Class clazz);

注意:

  方法传递的参数通过log4j配置格式符号%c写入日志:

  a)如果参数是第一种,传入字符串,则日志中格式符号%c位置处显示该字符串;

  b)如果参数是第二种,传入class类型参数,则日志中格式符号%c位置处显示参数的类的完全限定名;

(2)通过org.apache.log4j.Logger类实例化

public static Logger logger1 = Logger.getLogger(String name);
public static Logger logger2 = Logger.getLogger(Class clazz);

这种注意点和上面一致。

 

这两种方式都可以用在系统级别和类级别日志,如下:

(1)系统级别:

  定义一个日志工具类,用上面任何一种方式实例化日子类,向外提供一个静态方法得到该日志实例,然后调用实例的error()等方法输出日志即可;

复制代码
public class LogUtil {
   public static Logger logger1 = logger.getLogger("System error");

   public static Logger logger2 = logger.getLogger("System info");

   public static Logger getErrorLogger() {
         
        return logger1 ;
      
   }
}
复制代码

(2)类级别

  需要用到日志的类中就定义一个全局静态的日志实例变量logger,直接在本类的方法中调用logger对应的error()、info()等方法输出日志即可;

posted @   迷走神经  阅读(1451)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示