zoukankan      html  css  js  c++  java
  • logger.error打印完整的错误堆栈信息

    使用Spring Boot项目中的日志打印功能的时候,发现调用Logger.errror()方法的时候不能完全地打印出网站的错误堆栈信息,只能打印出这个错误是一个什么错误。

    为什么呢,原因在于这个方法是一个重载的方法(在一个类里面,方法名字相同,而参数不同)。

    public void error(String msg, Throwable t);
    
    public void error(String msg);

    如果只是传一个参数e进去,那么e就会被当作是String类型(会自动掉哦那个toString()方法把Exception转成String),而不是Exception类型。

    如果想打印堆栈信息,那么必须传两个或两个以上的参数,实际上就是为了调用上面的第一个多态方法。

    因此正确的调用方法应该是:

    Logger.error("出错了", e); // 第二个参数是Exception类型

    而不是:

    Logger.error("出错了" + e);
    Logger.error(e);
    Logger.error(e.getMessage);

    调用方法的时候最好点进源码里面查看是否存在重载的情况,避免调用不当造成没有达到预期的效果。

    "很多人变了,很多事变了。"

  • 相关阅读:
    实现Email传送
    用角色来管理权限
    最大在线人数统计
    解决DataGrid显示时间格式问题
    3秒后自动跳转
    ASP.NET页面的处理顺序
    乱码问题
    动态生成button并关联其onclick事件
    获取用户计算机信息
    鼠标滚轮缩放图片(js)
  • 原文地址:https://www.cnblogs.com/yanggb/p/10965857.html
Copyright © 2011-2022 走看看