将web前端JS错误日志合并到logback中再一起汇总到mysql或其他

在java后台中 我们可以通过logback 来记录日志,便于线上问题排查;

但是 web前端的js错误就只能当场查看了,是否可以像后台一样把前端的日志也收集起来?

/** 
   * 收集前端错误日志
  window.onerror = function(errorMessage, scriptURI, lineNumber,columnNumber,errorObj)  {
    var img = new Image();
    img.src = _PATH + '/sendJSError?errorMessage=' + encodeURIComponent(errorMessage) + '&scriptURI=' + encodeURIComponent(scriptURI) +
        '&lineNumber=' + lineNumber + '&columnNumber=' + columnNumber + '&errorObj=' + encodeURIComponent(errorObj);
  };
   *
   * @param {String} errorMessage 错误信息 
   * @param {String} scriptURI   出错的文件 
   * @param {Long}  lineNumber   出错代码的行号 
   * @param {Long}  columnNumber 出错代码的列号 
   * @param {Object} errorObj    错误的详细信息,Anything 
   */
  @RequestMapping("sendJSError")
  @ResponseBody
  public String sendJSError(String errorMessage,String scriptURI,String lineNumber,String columnNumber,String errorObj) {
    StringBuilder message = new StringBuilder();
    message.append("错误信息:" + errorMessage); 
    message.append("出错文件:" + scriptURI); 
    message.append("出错行号:" + lineNumber); 
    message.append("出错列号:" + columnNumber); 
    message.append("错误详情:" + errorObj); 
    BaseLog.e(IndexCtrl.class, message.toString());
    return "";
  }

输出到日志文件就不提了,说说怎么通过ogback将日志输出到数据库.

 <!--日志异步到数据库 -->  
    <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
        <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
           <dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">
              <driverClass>com.mysql.jdbc.Driver</driverClass>
              <url>jdbc:mysql://127.0.0.1:3306/databaseName</url>
              <user>root</user>
              <password>root</password>
            </dataSource>
        </connectionSource>
  </appender>

输出到数据的好处是 可以在 运营管理后台 来 分析和查看 错误日志。

当然也可以 自定义 存放的 位置 和格式 ,比如存到 mangodb 等

可以通过 BaseLog 来处理。参考附件


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值