2
|
John M Gant aman_novice · 技术社区 · 16 年前 |
![]() |
1
2
数据库日志记录的问题不是速度:而是可靠性。当事情出了问题,你就记录下来,如果事情出了问题,那么一个无法访问的数据库的可能性对你不利。 通常,您希望写入本地文本文件 和 其他地方,比如网络共享或数据库。如果存在IO/速度问题,可以将文本文件用作缓冲区,并将日志批量写入争用资源。然后定期刷新本地“备份”日志。 |
![]() |
2
2
我在MS SQL数据库中使用了log4net。如果可能的话,我通常会将它们放在不同的服务器上。这样,如果应用服务器或数据库有问题,我不会丢失日志记录。 速度从来不是问题。 |
![]() |
3
2
log4net支持 database appenders 对于一些主要数据库。如果您有合适的数据库,这可能是更好的选择。但是,要谨慎处理,因为如果管理不当,它可能会降低应用程序的可靠性。 通过使用BufferingForwardingAppender批处理网络日志记录,您可以将其与本地文件日志记录结合使用,并且仅在收到超过某个阈值的消息时发送。这样,您就可以有足够的上下文来跟踪错误,但只能在出现错误时进行跟踪。
|
![]() |
4
1
ApplicationData文件夹怎么样?在Vista上是这样的: C:\users\ray\appdata\local\mycompany名称 如果您想要一个中心位置,我将使用数据库日志记录。但正如Joel所说,您将需要一个始终工作的本地位置(或尽可能靠近它)和一个中心位置来收集日志,以便在正常工作时使用。 |
![]() |
5
1
您可以使用本地日志记录的组合,并且可以在成功注销时将日志同步到中心数据库。 这取决于您想做什么类型的日志记录以及应用程序的运行方式。如果执行日志记录的应用程序是客户端应用程序,那么如果写入事件日志,则可能没有帮助。 如果您确实想写入事件日志,那么它是相当直接的: http://support.microsoft.com/kb/307024 还有一件事,如果你正在寻找一个你知道用户肯定可以访问的位置,你可以使用独立的存储,但是你试图写入一个共享文件夹的事实使我认为你需要一个中心位置来存放日志,在这种情况下,数据库可能是你最好的选择,我的建议可能对你最好。 |
![]() |
6
0
如果应用程序是典型的两层作业,则使用
您可能还需要考虑将日志记录到“所有用户”应用程序数据目录,尽管这可能会使检索日志变得同样困难。也许可以考虑在某个地方添加一个快捷方式? 最后,如果日志可访问性问题是组织中的一个常见主题,那么您可能需要考虑使用日志收集应用程序,例如 Splunk . |
![]() |
7
0
如果您确保大小限制和/或定期清理,您可以尝试在CommonAppData文件夹下的某个位置-即CommonAppData\YouRappName\Logs。人们习惯于定期清理临时文件夹,但要小心开始挖掘CommonAppData、AppData或LocalAppData。 除了在这里或是在temp中以外的任何地方写作,迟早会给你在vista和更高版本上带来麻烦。 如果日志不是重要的,例如,如果有人删除日志,不可替换的数据不会丢失,我肯定会在temp中找到一个子文件夹,并有一个单独的任务调度程序作业上载它们。这是最不痛苦的地方。 |
![]() |
8
0
在我们的应用程序中,我们在commonAppData目录(c:\documents and settings\all users\application data\company\product)中记录4net并为所有用户使用一个公共日志文件。在这种情况下,安装程序必须手动设置目录和日志文件的文件权限,以便所有用户都可以访问它,默认权限仅适用于安装应用程序的用户。 我们还可以使用顶级异常处理程序(使用类似以下的实现)将未处理的异常记录到事件日志中: http://www.wintellect.com/cs/blogs/jclark/archive/2005/03/30/simple-main.aspx )。我们使用事件日志,因为所有关于打开的文件流状态的赌注都是关闭的。同样,我们的安装程序必须在应用程序事件日志中设置事件日志源。 如果确实使用事件日志,请确保日志记录非常少。如果您记录大量事件,因为事件日志可以很快被填满,并且xp上的默认策略是,如果日志已满,并且默认大小相对较小(512 kb,并且仅覆盖7天以上的事件),则事件日志将开始删除事件。 |
![]() |
Abdullah Chaudhry · json文件上的文件旋转和删除 2 年前 |
![]() |
Max S · 如何从CMD读取日志的所有输出 7 年前 |
![]() |
Ivan Denchev · Apache-过去一小时的日志 7 年前 |
![]() |
ninja.coder · Log4j中的字符串串联性能 7 年前 |
![]() |
Rich · 如何记录日志。是否与操作员一起调试? 7 年前 |