• 使用EventLog所产生的问题


    昨天在项目中,需要想系统的日志中写入相应的日志信息,比如错误日志,所以便在园里看了看,发现了一篇不错的文章。

    http://www.cnblogs.com/nokiaguy/archive/2009/02/26/1398708.html

    具体内容不说了,看这个文章就好,作者写的很不错。

    那我写这个做什么呢?难道就是为了贴个链接吗?当然不是了,我要说的是后续的种种问题。那可谓十分无语。。。

    我需要的是在日志中产生一个新的节点,然后再日志中写入自己的源。如图:

     
     
    我的是win7的系统。看起来貌似是没错的,但是当你运行代码的时候你首先会发现,它,它,它。。。报错了。
    报的是一个安全的错误。当然,是在web中,如果是类似windows服务的程序,只要把你的登陆名设置为本地用户就没有问题了。
    它是为什么呢?你需要打开你的注册表,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog,你会发现,在这个下面有一个HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Security,当你去判断是否存在源的时候,将会遍历这个注册表项,但是此时你是没有权限的,所以,报错了。
    那么,应该怎么办呢?本人测试了windows2003、win7、windows2008,当你在2003中,需要给eventlog一个权限,就是iis_wpg。当然,我的一个朋友在他的机器上实验的时候,并没有添加这个权限,
    但是也成功了,究竟为什么就不得而知了。如果是win7或2008的话,那么需要加一个network service这个权限,应为此时已经没有iis_wpg了。
    还有,源的问题,貌似当一个源已经存在以后,再次想创建一个源会出错,这个有待再次确定。
    最后说最诡异的问题。我在win7下进行调试时,如果希望在vs中进行调试,那么请你在启动vs时以管理员身份启动。一开始是没有问题的。但是到后来,等我往里面写信息的时候发现怎么也写不进去了。
    不报错,就是写入进去信息。当我重新创建一个新的节点新的源的时候,可以写进去,但是使用已有的,写不进去。很无奈。当我重启机器若干次以后,突然又能写进去了,这。。。。无语啊。
  • 相关阅读:
    Linux如何编译安装源码包软件
    安装python发行版本,并用conda来管理Environments,Python,packages
    命令远程传输文件
    CentOS7更换yum源为阿里云镜像源
    CentOS安装pip并修改源为豆瓣源
    查看SELinux状态及关闭SELinux
    解决CentOS查询不到ip
    chmod变更文件或目录的权限
    开启HTML5之旅。。。
    JDK 动态代理的实现
  • 原文地址:https://www.cnblogs.com/fengyishou/p/2055122.html
Copyright © 2020-2023  润新知