如何进行Oracle样式编号日志记录?

时间:2013-05-09 06:32:36

标签: java logging slf4j logback

在oracle中,人们经常会收到像

这样的消息
ORA-01882: timezone region not found.

这种格式有几个好处,如 -

  1. 更容易提供电话支持,客户端只需要读出错误代码。
  2. 更容易搜索并计算文件中的特定错误。我可以只搜索唯一的错误代码,而不是使用基于正则表达式的模式匹配来搜索日志消息。
  3. 如何在我自己的应用程序中解决此问题?我不只是要求代码片段,而是如何管理整个过程。

    1. 您是否会将错误代码映射到Excel,属性文件或数据库中的消息?

    2. 在使用之前,是否需要手动将每个代码消息组合输入到DB中?我可以让我的日志记录框架自动为我记录的每个唯一字符串创建一个随机错误代码吗?

    3. 在流行的日志记录框架(例如logback)中是否有针对此的标准规定?

2 个答案:

答案 0 :(得分:0)

您需要为每个必须确定的错误类型设置密钥。 ResourceBundles可以帮到你。一旦使用它的原因是语言支持。如果您为每种语言提供文件,则文本可以是任何语言。

答案 1 :(得分:0)

  1. 如果您需要I18N支持属性。

  2. 如果存在,代码的特定部分可能会出现特定的数字错误。 例如Apache Derby有一个带有错误消息标识符列表的接口。这是一组消息标识符。

    String CONNECT_PASSWORD_ISNULL = "08001.C.8";
    String CONNECT_SOCKET_EXCEPTION = "08001.C.3";
    

    此标识符用于code的某些部分。

    throw Util.generateCsSQLException(SQLState.CANNOT_COMMIT_XA);
    
  3. 登录您最喜欢的框架。例如MyBatis使用自定义loggin类来记录几个框架,类org.apache.ibatis.logging.LogFactory具有该逻辑。

相关问题