一般日志文件应该怎么写呢?

takpod 2015-06-10 08:56:45
1,是每天创建一个文件记录当天所有事件 吗? 当硬盘快满了怎么办?
2,还是记录最近1000条事件,当满了1000条时 就删除就旧一条 添加最新的?

...全文
266 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
takpod 2015-06-11
  • 打赏
  • 举报
回复
引用 3 楼 starfd 的回复:
我说的那几种dll自带此功能,只需要配置就行了……nlog不知道有没有这种功能,这个没用过,但名气跟前面两个差不多,相信应该也有这种功能
我决定用log4net 我看了这个配 里内有两个logger http://www.cnblogs.com/kissazi2/p/3392605.html 但是我如何用他们来定义不同的对像呢?
            log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
            log.Error(msg);
关于以上定义一个对象 为什么要传一个Type的参数进去呢? 那个Type参数又是什么意思呢?
  • 打赏
  • 举报
回复
引用 6 楼 takpod 的回复:
关于以上定义一个对象 为什么要传一个Type的参数进去呢? 那个Type参数又是什么意思呢?
日志通常会根据所处的程序段的不同而分成不同文件,容易按照操作类型快速检索。 但是稍微正规一点的日志系统,应该还包括“报警程度(一般信息、警告、错误、权限验证失败)”的不同而检索。不是把所有不同警告类型的日志都扔在一起的!
smthgdin_020 2015-06-10
  • 打赏
  • 举报
回复
用一些日志框架吧,比如nlog。 有写日志策略选择。
  • 打赏
  • 举报
回复
引用 2 楼 takpod 的回复:
就是不知如何删除最旧的一条记录,是不是要全部将文件读入,删除最旧的 添加最新的之后再重新写到文件?这样是不是很麻烦? 如果文件很大要全部读入是不是很久?
按日期保存就可以了。 日志通常会根据“所处的程序段、报警程度(一般信息、警告、错误、权限验证失败)”的不同而分成不同文件。然后按照日期分成不同的目录。 当删除过期的日志,把超过一定日期(例如1个月)的所有目录全都删除就可以了。
  • 打赏
  • 举报
回复
我说的那几种dll自带此功能,只需要配置就行了……nlog不知道有没有这种功能,这个没用过,但名气跟前面两个差不多,相信应该也有这种功能
takpod 2015-06-10
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
log4net entlib log 都有划动日志记录方式,也有单文本日志记录方式,完全看你自己的策略,按你描述你是要划动日志,每天记录一个文件(当然也可以每个小时,随你便),设置文件上限1000个,文件到达1000个后,就会删除最前面的那个(这块删除方式有说明,它是按文件名like删除的,不是找到最前面的删除,所以起文件名要注意)
就是不知如何删除最旧的一条记录,是不是要全部将文件读入,删除最旧的 添加最新的之后再重新写到文件?这样是不是很麻烦? 如果文件很大要全部读入是不是很久?
  • 打赏
  • 举报
回复
log4net entlib log 都有划动日志记录方式,也有单文本日志记录方式,完全看你自己的策略,按你描述你是要划动日志,每天记录一个文件(当然也可以每个小时,随你便),设置文件上限1000个,文件到达1000个后,就会删除最前面的那个(这块删除方式有说明,它是按文件名like删除的,不是找到最前面的删除,所以起文件名要注意)

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧