zoukankan      html  css  js  c++  java
  • 2018-8-10-C#-写系统日志

    title author date CreateTime categories
    C# 写系统日志
    lindexi
    2018-08-10 19:16:53 +0800
    2018-2-13 17:23:3 +0800
    WPF WPF调试

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

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

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

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

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

                if (EventLog.SourceExists("德熙"))
                {
                    EventLog.CreateEventSource("德熙", "Application");
                }

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

    写日志

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

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

                EventLog.WriteEntry("德熙", "有个不愿告诉你名称的程序在这里写字符串");
    

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

  • 相关阅读:
    (一)js概述
    (八)js函数二
    (七)js函数一
    (十)js获取日期
    Java 定时器 Timer 的使用.
    多线程编程学习四(Lock 的使用)
    多线程编程学习三(线程间通信).
    wait/notify 实现多线程交叉备份
    多线程编程学习二(对象及变量的并发访问).
    浅析多线程的对象锁和Class锁
  • 原文地址:https://www.cnblogs.com/lindexi/p/12086635.html
Copyright © 2011-2022 走看看