是否值得从数据库获取数据,以便日志可以显示更多信息?

问题描述 投票:0回答:1

我现在的情况是,我需要在代码中添加日志,以便以后出现问题时方便调试。例如,这是一个方法:

SomeMethod(Request request){

   ....

   // I need add log here
    ...

}

Request
对象包含:

Request
{
   string typeId,
   string userId
}

我正在考虑从日志中的

request
输出相应的类型名称和用户名,但是
SomeMethod
中没有直接来源可以获取这些信息,所以我不得不请求数据库。 我想问的问题是:

  1. 是否需要输出名称而不仅仅是id?
  2. 是否值得从数据库中获取专门用于日志的信息?

我觉得应该没有必要为了日志而从数据库中获取具体的数据;并且日志后名称可能会改变,导致无法对应,所以记录ID就足够了。 我可以问问你的意见吗?

logging architecture
1个回答
0
投票

我觉得应该没有必要为了日志而从数据库中获取具体的数据;并且日志后名字可能会改变,导致无法对应,所以记录ID就足够了。

我认为你的意思是“这不应该是必要的”。

有一个有效的论点,即日志中的信息应尽可能“自包含”(对于不可变数据,仅名称就足够了,例如固定的类型表,“ID”和“名称”都应该包含在日志中)具有可变数据):1)为了开发人员/技术人员的可读性/可用性(例如类型 ID 比类型名称更不透明),而且 2)因为数据确实可以更改(可变数据),并且日志应该更合适反映登录时的情况! 只要执行这些查询相对便宜(和/或如果在幕后有一些缓存),通常就可以了,特别是如果可以控制日志记录级别,以便仅在调试/维护时需要使用查询进行完整日志记录模式,而不是在正常操作中,并且无论如何都要注意仅记录严格需要的内容。 也就是说,对于请求/操作,通常会记录参数和结果,并且相当“怀疑”的是,在仅“知道”ID 的上下文中,您记录的不仅仅是 ID:这表明只有ID 实际上是相关的并且需要记录...

© www.soinside.com 2019 - 2024. All rights reserved.