Yur*_*riy 5 delphi queue logging multithreading
我的任务是创建一个类,它将围绕多个应用程序收集用户活动.
假设我有一个类TLogging
和一个名为的全局对象Logging
.
用户活动(屏幕打开等)应该在内存中收集(可能放入(字符串)列表中TLogging
)并在一段时间间隔(每10分钟)或应用程序关闭后保存到日志文件中.
最重要的是日志记录必须处于"静默模式",它不得以任何方式影响用户工作流程:没有屏幕挂起,没有例外.
请给我这个任务的方向.
jpf*_*ius 15
这是一个涉及多个领域的非常广泛的问题.一些提示:
至少考虑一个既定的日志框架.CodeSite附带了较新的Delphi版本.SmartInspect是另一种选择.
使用同步原语使您的类具有线程安全性:TCriticalSection,TMREWSync
在尝试编写线程安全的日志记录框架之前,请确保您了解多线程和同步中涉及的问题.一个好的开始是Martin Harvey的多线程指南- 德尔福之路.
使用后台线程以定期的间隔将日志内容刷新到磁盘,或者是否已缓冲足够的数据.
如果遇到特定问题,请在此处询问更具体的问题.
归档时间: |
|
查看次数: |
3499 次 |
最近记录: |