gpt4 book ai didi

.net - 记录日志的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-04 13:02:04 25 4
gpt4 key购买 nike

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8年前关闭。




我的(本地、windows/mono)应用程序将重要事件记录到文本文件中。在突然崩溃/失败/强制退出的情况下,不应该保留任何数据(尽可能)。因此,我目前使用一种简单的附加到文本文件的方法:

Public Shared Sub LogAppEvent(ByVal EventData As String)
Dim Config As ConfigHandler = ConfigHandler.GetSingleton()
Dim AppLog As New IO.StreamWriter(Config.GetUserFilesRootDir() & ConfigOptions.AppLogName, True)
AppLog.WriteLine(String.Format("[{0}] {1}", Date.Now.ToString(), EventData))
AppLog.Close()
End Sub

这是非常次优的,但日志事件非常罕见。你会建议搬到 System.Diagnostics 吗?日志类?

或者,也许您会建议另一种解决方案?

最佳答案

如果像这样的 super 基本方法在功能上足以满足您的需求,您可以坚持下去。但是,您可能会问自己几个问题以确保:

  • 是否可以通过多个线程同时记录事件?此函数不是线程安全的
  • 是否需要错误通知?
  • 在没有自动修剪的情况下,是否存在日志文件无限增长的风险?
  • 您是否会受益于更广泛的日志记录,以便您获得有关导致错误的事件的更多信息?
  • 您是否会从有关错误的更多详细信息(堆栈跟踪、异常详细信息等)中受益
  • 您的程序是否在多台计算机上运行?如果是这样,日志如何到达您手中?
  • 帮助分析日志文件的工具是否有任何需要/值(value)(单独或查找模式,例如跨多个日志文件的常见错误)?

  • 如果您决定有其他要求,可以使用许多免费的日志记录框架,例如 NLog or log4net可以帮助记录更详细的日志,还有 GIBRALTAR等几个商业产品和 SmartInspect可以帮助进行日志管理和分析。

    关于.net - 记录日志的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3934685/

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