gpt4 book ai didi

C# "cached debug log"

转载 作者:太空宇宙 更新时间:2023-11-03 22:10:13 25 4
gpt4 key购买 nike

我想在这里向C#专家请教。我的调试日志有问题。我有一个简单的类,它只打开一个文件,写下提供的字符串并再次关闭该文件。但是,有时我在使用多线程时需要使用这个调试日志。于是麻烦就来了。我不能多次打开文件,所以我收到一个异常,因为我只是尝试再次打开锁定的文件。为此,我想要一个类似“缓存调试日志”的东西来防止这个异常。有没有简单的方法来实现这个?非常感谢。

最佳答案

C# 4.0 提供线程安全的集合,如 System.Collections.Concurrent.ConcurrentQueue<T> .您可以修改您的日志类,使其在自己的线程中运行,并且调用日志方法只是将消息添加到这样的队列中。这样,您的日志记录线程就可以安全地从队列中读取项目,并在不中断的情况下写入文件。

编辑

当然,最方便的做法是开始使用已经处理好这些问题的现有日志记录框架。我推荐 NLog,尽管 log4net 也是一个值得竞争的对象。

关于C# "cached debug log",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6920247/

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