C# 如何调用EventLog

 public class LisaEventLog
    {
        private readonly string _logName = @"Lisa";

        public string LogName => _logName;

        public LisaEventLog()
        {
        }

        public LisaEventLog(string logName)
        {
            _logName = logName;
        }

        public void WriteEntry(string error, EventLogEntryType type)
        {
            var sourceName = AppDomain.CurrentDomain.FriendlyName;
            if (!EventLog.SourceExists(sourceName))
            {
                EventLog.CreateEventSource(sourceName, _logName);
            }
            using (EventLog eventLog = new EventLog(_logName))
            {
                eventLog.Source = sourceName;
                var message = $"{AppDomain.CurrentDomain.BaseDirectory}{Environment.NewLine}{error}";
                eventLog.WriteEntry(message, type);
            }
        }
    }

左侧栏里面的叫做LogName,每一条event log中的source列,对应的是source

EventLog.Entries

这里的entries是指event log,比如上图中对应有5个。

原文地址:https://www.cnblogs.com/chucklu/p/8856645.html

时间: 2024-08-02 06:46:16

C# 如何调用EventLog的相关文章

当访问EventLog时,抛出SecurityException

当调用EventLog.SourceExists("source1")时,抛出一下异常 System.Security.SecurityException was unhandled  HResult=-2146233078  Message=The source was not found, but some or all event logs could not be searched.  Inaccessible logs: Security.  Source=System  S

.NET Core的日志[4]:将日志写入EventLog

面向Windows的编程人员应该不会对Event Log感到陌生,以至于很多人提到日志,首先想到的就是EventLog.EventLog不仅仅记录了Windows系统自身针对各种事件的日志,我们的应用也可以利用提供的API将日志消息写到EventLog中.与EventLog相关的API都定义在System.Diagnostics.EventLog这个类型中,我们不仅仅可以利用它读取.写入和删除日志,还可以使用它来创建和删除Event Source..NET Core的日志模型利用EventLog

c#.NET中日志信息写入Windows日志中解决方案

1. 目的应用系统的开发和维护离不开日志系统,选择一个功能强大的日志系统解决方案是应用系统开发过程中很重要的一部分.在.net环境下的日志系统解决方案有许多种,log4net是其中的佼佼者.在Windows2000及以上操作系统中,有一个Windows日志系统,它包括应用程序(Application)事件日志.系统(System)日志和安全(Security)日志,事件日志也可以是自定义日志.在.net Framework中也提供了相应的类和接口来使用应用程序事件日志或者自定义事件日志.使用Wi

android6.0 Launcher2应用解析

在之前我们分析了Android6.0系统在启动时安装应用程序的过程,这些应用程序安装好之后,Launcher应用就负责把它们在桌面上展示出来. 一.AMS启动Launcher Launcher应用是在AMS的systemReady方法中直接调用startHomeActivityLocked启动的,下面是systemReady启动Launcher的代码. startHomeActivityLocked(mCurrentUserId, "systemReady"); 我们来看下这个函数,先

玩转PowerShell第二节——【利用PsExec进行远程调用】-技术&分享

概述 PowerShell用的最多的地方就是远程调用,在远程机器上执行脚本,监控远程机器的状态,如NLB状态,EventLog,SqlServer DataBase状态等. 本篇将讲到用PsExec.exe这个工具进行远程调用. 1.首次运行PowerShell.exe 双击PowerShell.exe,同意licence条款. 2.查看PowerShell帮助 3.常用参数 computer   计算机名称,如果省略,则在本机执行,如果是\\*,则在域里面的所有的机器上执行脚本 -u 远程机器

EventLog.EntryWritten Event

刚看到在MSND论坛上有人问一个EventLog.EntryWritten Event相关的问题,说是在2015触发了一个2013年的EventWritten的事件,比较好奇,然后查看了下这个类: https://msdn.microsoft.com/en-us/library/system.diagnostics.eventlog.entrywritten%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396 在的Remarks里看到有这么一段话: Th

Android6.0 PKMS扫描目录和调用接口安装应用的区别

android安装应用分两种,一种是直接调用PKMS的接口安装,另一种是扫描目录安装,比如系统开机的时候会扫描data/app目录进行安装. 一.调用installPackageAsUser函数安装 我们先来看调用接口应用安装应用,都会通过如下函数,这个函数先会通过传进来的uid来判断是否是adb安装的,然后创建了一个InstallParams对象这个对象是HandlerParams的子类,然后发送消息. @Override public void installPackageAsUser(St

EventLog实现事件日志操作

选中”我的电脑”,在其右键菜单中选择“管理”,在打开的对话框中包括了如下图所示的“日志”信息: 选中其中的某一条日志,可以看到如下的详细信息: 我们应该如何通过写代码的方式向其中添加“日志”呢? 在操作之前,先明确几个概念: 1:事件日志名(logName):“事件查看器”中的每一项,如“应用程序”.“Internet Explorer”.“安全性”和“系统”都是日志(严格地说是日志的显示名字) 2:事件源:列表中的“来源”,创建时和事件日志相关联: 3:事件类型:包括“信息”.“错误”等: 下

Eventlog控件的使用

CreateEventSource 已重载. 建立一个能够将事件信息写入到系统的特定日志中的应用程序. Delete 已重载. 移除日志资源. DeleteEventSource 已重载. 从事件日志中移除应用程序的事件源注册. SourceExist 已重载. 在计算机的注册表中搜索给定的事件源. WriteEntry 已重载. 将项写入事件日志. WriteEvent 已重载. 向事件日志写入本地化事件项. 为了能够使用EventLog,我们需要引入using System.Diagnost