C# 写系统日志

2022-08-04 15:30:38 浏览数 (1)

因为我不想使用自己写文件,我的软件是绿色的,所以把日志写到 Windows 日志。

首先告诉大家什么是系统日志,请看下面,这就是我要告诉大家的日志。写在这里就把日志放在 系统日志那里,看起来很厉害。

如果需要写日志,需要管理员权限,如果没有权限会出现下面异常

代码语言:javascript复制
System.Security.SecurityException:“未找到源,但未能搜索某些或全部事件日志。 不可访问的日志: Security

需要判断当前是否已经存在日志,下面我来创建一个事件叫 “德熙”

代码语言:javascript复制
            if (EventLog.SourceExists("德熙"))
            {
                EventLog.CreateEventSource("德熙", "Application");
            }

这里的 Application 就是写到哪个,一般都是选 Application ,可以从图片看到系统的有应用程序、安全、Setup、系统几个日志,程序一般都是写到程序

写日志

如果已经创建了日志事件,那么继续来写入日志就不需要管理员权限了。所以在安装程序的过程创建日志就可以让程序不需要再写入日志时需要管理员权限。

写入可以使用 WriteEntry ,需要传入写入的日志和内容

代码语言:javascript复制
            EventLog.WriteEntry("德熙", "有个不愿告诉你名称的程序在这里写字符串");

这个方法还有几个重载,可以传入日志类型,是成功、失败还是其他。还可以传入 id ,通过id 可以找到为什么需要写日志,不过需要在自己定义,还可以添加附件,于是我就不需要自己写文件日志。

0 人点赞