Java 在一行中记录多个内容比记录多行有什么好处?
这样写有什么好处吗Java 在一行中记录多个内容比记录多行有什么好处?,java,logging,Java,Logging,这样写有什么好处吗 logger.info("[Request]: {}, [Response]: {}", requestObject, responseObject); 而是像这样写: logger.info("[Request]: {}", requestObject); logger.info("[Response]: {}", responseObject); 一个很大的优势是能够搜索发生的事情(例如,使用grep),并且
logger.info("[Request]: {}, [Response]: {}", requestObject, responseObject);
而是像这样写:
logger.info("[Request]: {}", requestObject);
logger.info("[Response]: {}", responseObject);
一个很大的优势是能够搜索发生的事情(例如,使用
grep
),并且能够获得结果中的所有相关信息,而不必打开文件,搜索您想要的任何内容(例如,请求的某些属性),然后向下滚动查看相关信息(在本例中-响应细节)。一大优势是能够搜索发生的事情(例如,使用grep
)并能够获得结果中的所有相关信息,而不必打开文件,搜索您想要的任何内容(例如,请求的某些属性)然后必须向下滚动查看相关信息(在本例中为响应详细信息)。假设您在多线程上下文中工作
- 单行日志记录:轻松查看组中的相关内容
- 多行日志记录:下一行和上一行可能不相关
- 单行日志记录:轻松查看组中的相关内容
- 多行日志记录:下一行和上一行可能不相关
info()的调用也会减少
。这并不意味着您必须始终将所有内容记录在一行中,但将相关内容分组肯定不是一个坏主意。但这是一个愉快的流程,对吗?如果发生了一些不好的事情,抛出了一个异常,并且流程无法到达终点,那么我将无法记录请求,这是一个坏主意,对吗?通常您会捕获异常在处理异常或重新抛出异常时,记录您需要的任何内容。您将所有内容都放在一行中(这样,日志中的混乱更少,如果将其放在同一行中,则更容易找到相关内容),并且对info()的调用更少
。这并不意味着您必须始终将所有内容记录在一行中,但将相关内容分组肯定不是一个坏主意。但这是一个愉快的流程,对吗?如果发生了一些不好的事情,抛出了一个异常,并且流程无法到达终点,那么我将无法记录请求,这是一个坏主意,对吗?通常您会捕获异常如果这是唯一的原因,那么你可以告诉grep
显示一些上下文行,例如grep-A 1'\[Request\]'my.log
。当然,当应用程序是多线程的时候,你现在必须使用同步来确保相关的行是相邻的。如果这是唯一的原因,那么你可以告诉grep
显示一些上下文行,例如grep-A 1'\[Request\]'my.log
。当然,当应用程序是多线程的时候,您现在必须使用同步来确保相关的行最终相邻。