【问题标题】:How to save ERROR logs in to a database with JDBC Appender如何使用 JDBC Appender 将 ERROR 日志保存到数据库
【发布时间】:2018-07-12 15:05:03
【问题描述】:

我想使用 JDBC appender 将异常的堆栈跟踪保存到 mysql 数据库。这里的问题是我不想在我的代码中使用 e.printstacktrace。有什么办法吗?

【问题讨论】:

  • 是的,使用日志库。鉴于您标记了 log4j,您已经知道它们的存在,那么您真正的问题是什么?
  • 我正在使用 DB appender 并将日志保存到表中。但是我想将带有堆栈跟踪的异常保存到我的数据库中。当我使用以下代码时,它不会将堆栈跟踪保存到我的表中。将堆栈跟踪作为错误日志保存到表中的推荐方法是什么? catch (Exception e) { log.error(" ::: 发生异常 :::: " + e); }
  • 你看过 log4j API 吗?有些日志方法显式采用Throwable(异常的超类),或者如果它们采用多个对象参数,那么您将异常放在最后。

标签: java mysql jdbc log4j appender


【解决方案1】:

设法通过使用ExceptionUtil 类将堆栈跟踪转换为字符串。一旦堆栈跟踪被转换为字符串,我就可以使用 DB appender 保存错误日志,如下所述。

try{
    //Some code that throws an exception
    }

catch(SomeException e)
    {
    String stackTrace = ExceptionUtils.getStackTrace(e);
    log.error(":: An error has occurred :::: " + stackTrace);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多