gpt4 book ai didi

记录,何时记录以及记录什么?

转载 作者:行者123 更新时间:2023-12-02 06:27:49 27 4
gpt4 key购买 nike

我目前正在开发一个相当大的多层应用程序,该应用程序将部署在海外。虽然我希望它在解聚后不会折叠或爆炸,但我不能 100% 确定这一点。因此,如果我知道我可以请求日志文件,以准确找出问题所在以及原因,那就太好了。

基本上正如标题所示,我想知道何时记录以及记录什么内容?我想知道这一点,以确保我拥有全面的日志文件,可以轻松检查这些文件以确定我的应用程序崩溃时发生了什么。

最佳答案

1 - 使用标准化格式制作单个日志。它是什么并不重要,但要确保每个条目都具有相同的基本字段。仅调用“printf”可能不会削减它(替换 System.err.println 或任何适当的)

2 - 允许至少一个字段是任意字符串...开发人员会比您更了解那里需要什么。

3 - 在每个条目上包含高分辨率时间戳。你最终会需要它,相信我。

4 - 如果可能,请包含错误来源的文件和行号。这在 C 中很容易,但在 Java 中有点痛苦。但它在以后会非常有用,尤其是当人们开始剪切+粘贴代码(包括错误消息)时。

5 - 确保日志位于任何级别的代码都可以使用它的位置。

6 - 我经常使用“Primary”和“Secondary”错误标签,其中“Primary”意味着“我是检测到存在问题的人”,“Secondary”意味着“我调用了一个函数,该函数报告了一个错误”。这样可以轻松找到问题的根源(“主要:找不到文件”)并仍然报告错误的含义(“次要:无法加载校准表”)。

7 - 包括一些记录非错误和错误的功能。

我发现最难的部分是错误不一定是错误。如果您使用文件调用函数,并且该文件不存在,那么是否应该记录该错误?有时这是严重的失败,有时则是意料之中的。这很大程度上取决于函数的 API;如果函数有办法返回错误,我通常会让它在不记录日志的情况下执行此操作;那么高层代码的工作就是决定是否需要报告该错误或者是否需要报告该错误。

关于记录,何时记录以及记录什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/194299/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com