[原创]在windows2000中使用.NET写日志

C语言实现TCP聊天室:Socket编程与并发模型实战解析 网络编程是构建分布式系统的核心技术,其核心在于理解进程间通信的底层机制。TCP/IP协议栈提供了可靠的字节流传输服务,通过Socket API这一抽象接口,开发者可以在应用层建立连接、收发数据。为了高效处理多个并发连接,服务器需要采用多线程或I/O复用模型,前者为每个连接创建独立线程,逻辑清晰但资源消耗大;后者通过select、poll或epoll等系统调用监控多个文件描述符,显著提升并发能力。这些技术是构建高性能网络服务(如即时通讯、在线游戏服务器)的基础。本文以C语言实现一个简洁的TCP聊天室为例,详细 阅读详情

                                                                                   作者:bluesky35(蓝天)

1.首先请参阅其他技术专栏中用VB6.0访问注册表,创建

HKEY_LOCAL_MACHINE,/SYSTEM/CurrentControlSet/Services/Eventlog/Eventlog2/Eventlog2
键,并且写入EventMessageFile,value为C:/WINNT/Microsoft.NET/Framework/v1.1.4322/EventLogMessages.dll

2.在C#.net使用以下代码写日志
//输出日志的CLASS
using System;
using System.Diagnostics;
using System.Text;

namespace CorePlus.Framework.Utility
{
 /// <summary>
 /// 写日志的CLASS
 /// </summary>
 public class LogUtility
 {
  public enum EVENT
  {
   /// <summary>重大错误</summary>
   EVENT_ERROR,
   /// <summary>操作失败</summary>
   EVENT_FAILUREAUDIT,
   /// <summary>一般信息</summary>
   EVENT_INFORMATION,
   /// <summary>有效的,成功的操作</summary>
   EVENT_SUCCESSAUDIT,
   /// <summary>警告</summary>
   EVENT_WARNING,
  }

  private static TextWriterTraceListener listner = null;

  /// <summary>
  /// 构造函数
  /// </summary>
  public LogUtility () {}

  /// <param name="loginID">登录ID</param>
  /// <param name="screenID">画面ID</param>
  /// <param name="level">警告级别</param>
  /// <param name="message">日志信息</param>
  public static void Logging (
   string loginID,
   string screenID,
   EVENT level,
   string message )
  {
   // 变量定义
   StringBuilder  outputMessage = null; // 输出的信息
   string    targetLevelString = null;
   EventLogEntryType Eventtype = new EventLogEntryType();

   switch (level)
   {
    case EVENT.EVENT_ERROR:
     Eventtype = EventLogEntryType.Error;
     break;

    case EVENT.EVENT_FAILUREAUDIT:
     Eventtype = EventLogEntryType.FailureAudit;
     break;

    case EVENT.EVENT_INFORMATION:
     Eventtype = EventLogEntryType.Information;
     break;

    case EVENT.EVENT_SUCCESSAUDIT:
     Eventtype = EventLogEntryType.SuccessAudit;
     break;

    case EVENT.EVENT_WARNING:
     Eventtype = EventLogEntryType.Warning;
     break;
   }

   // 日志信息的拼合
   outputMessage = MakeMessage( loginID, screenID, targetLevelString, message );

   // 写日志
   Logging( Eventtype, outputMessage.ToString() );
  }

  /// <summary>
  /// 向日志管理器写日志
  /// </summary>
  /// <param name="level">错误级别</param>
  /// <param name="message">输出的信息</param>
  private static void Logging ( EventLogEntryType level, string message )
  {
   // 变量定义
   string  logName  = null; // 日志名
   string  machineName = null; // 机器名
   string  sourceName = null; // SourceName
   EventLog eventLog = null; // EventLog

   logName  = "Eventlog2";  // 日志名
   machineName = "."; // 机器名
   sourceName = "Eventlog2"; // SourceName

   eventLog = new EventLog( logName, machineName, sourceName );
   eventLog.WriteEntry( message,level );
   eventLog = null;
  }

  /// <summary>
  /// 日志最终拼合
  /// </summary>
  /// <param name="loginID">登录ID</param>
  /// <param name="screenID">画面ID</param>
  /// <param name="levelString">错误级别</param>
  /// <param name="message">日志信息</param>
  /// <returns>输出的日志信息</returns>
  private static StringBuilder MakeMessage (
   string loginID,
   string screenID,
   string levelString,
   string message )
  {
   // 变量定义
   StringBuilder retMessage = new StringBuilder();

   retMessage.Append( "【登录ID】" );
   retMessage.Append( loginID );
   retMessage.Append( "/n【画面ID】" );
   retMessage.Append( screenID );
   retMessage.Append( "/n【错误级别】" );
   retMessage.Append( levelString );
   retMessage.Append( "/n【错误信息】/n" );
   retMessage.Append( message );

   return retMessage;
    }
  }
}

// 在FORM中输出日志
  private void button1_Click(object sender, System.EventArgs e)
  {
   LogUtility.Logging( "bbbbbb","22222222",LogUtility.EVENT.EVENT_ERROR,"3333333" );
  }

运行完程序后打开日志管理器看看~~~~~~~~~怎么样?不错吧,呵呵.

升降机SEW MOVIDRIVE变频器设置 选择PO1 第2,3,9,13 位,点击“SendPA”Start reference,编码器反馈值为0(PI2/3 Actual position=0)提示:传送参考位置前请断开变频器安全24V电源,否则会弹出禁止修改提示框;提示:做这一步时,如果出现电机不能转动,或产生报警不能通过编码器匹配。下载配置的参数,提示:下载参数需要断开变频器的安全24V电源。编码器匹配通过后点击下一步,进入下图画面传送参考位置。1电机不能转动:a可能是由于变频器的安全24V未给。点击2.SEW总线扩展定位,定位块设置。 阅读详情

相关推荐

基于DE2-115红外解码实验

基于DE2-115红外解码实验   一、   功能描述 在同一个遥控电路中通常要使用实现不同的遥控功能或区分不同的机器类型, 这样就要求信号按一定的编码传送,编码则会由编码芯片或电路完成。对应于编码芯片通常会有相配对的解码芯片或包含解码模块的应用芯片。在实际的产品设计或业余电子制作中,编码芯片并一定能完成我们要求的功能,这时我们就需要了解所使用的编码芯片到底是如何编码的。只有知道编码方式,我...

乘风的博客 2487

.net使用EventLog记录的Windows日志怎么在系统中查看

.net使用EventLog记录的Windows日志怎么在系统中查看

qq_51495800的博客 980

英飞凌TC3xx之一起认识GTM系列(一)先来认识GTM架构

本文讲述英飞凌TC3xx的通用计时器GTM的架构。

无所适从的我的博客 4555

.Net 日志系统-Windows日志

Windows日志的查看方法: .Net Core程序记录日志Windows日志中,下面用代码来演示如何实现: 基于.Net Core WebApi 3.1程序 1.NuGet应用程序集:Microsoft.Extensions.Logging.EventLog 2.依赖注入: 在Startup.cs文件的ConfigureServices类中,将EventLog注入到服务中。 //注入EventLog service...

每天学习一点点 1426

.NET 操作 EventLog(Windows事件日志监控)(转载)

操作Windows日志:EventLog 如果要在.NET Core控制台项目中使用EventLog(Windows事件日志监控),首先需要下载Nuget包: System.Diagnostics.EventLog 此外执行程序要拥有管理员权限 1:事件日志名(logName):“事件查看器”中的每一项,如“应用程序”、“Internet Explorer”、“安全性...

1149

WIN2000操作系统中安装.net 3.X

微软的.NET 3.x 默认情况下是不可以在XP及以下版本安装的.安装时会提示,此操作系统不支持此安装. 要想使其在WIN2000上能够安装起来.可以使用ORCA工具,打开要要修改的dotet3.x的安装文件--一个MSI文件(如果你的安装文件是EXE就不行了)在左边的列表里找到launcher...字样的一栏,点一下,看右边,是不是有个列表,找到 包含不支持此安装的错误提示的那一行,然后删除

jivi的专栏 2041

Windows记录登录日志

有的时候,我们希望系统记录登录的日志,以便查看有无他人动过自己的电脑。 步骤 1.windows中搜索并打开"组策略"。   2.点击计算机配置--&gt;Windows设置--&gt;安全设置--&gt;本地策略--&gt;审核策略--&gt;审核账户登录事件(不是审核登录事件)   3.双击打开,勾上"成功"和"失败",点击确定。 4.在(控制面板--&gt;系统和安全..

NetRookieX的博客 1万+

Windows2000日志文件详述及删除方法

Windows2000日志文件通常有应用程序日志,安全日志、系统日志、DNS服务器日志、FTP日志、WWW日志等等,可能会根据服务器所开启的服务不同。当我们用流光探测时,比如说IPC探测,就会在安全日志里迅速地记下流光探测时所用的用户名、时间等等,用FTP探测后,也会立刻在FTP日志中记下IP、时间、探测所用的用户名和密码等等。甚至连流影启动时需要msvcp60.dll这个动库链接库,如果服务器

FreeXploiT 1659

使用ASP .NET察看和清除你的事件日志

今天我将向大家免费提供一个用ASP .NET实现的工具,它可以用来查看并清除Windows2000的事件日志。我把这个工具的源代码附在了文章的后面。在这之前,我将解释一下它的工作原理。你也可以下载这段源代码(包括VB和C#两个版本)。 当这页第一次被载入时,我们将创建并显示一个ASP .NET DropDownList服务器控件,它列出了本地服务器上所有的事件日志。我们首先通过调用EventLog

jxufewbt的专栏 814

C#与Windows 2000事件查看器的交互操作

点击窗体中的按钮,程序将开启事件查看器。管理员:由 C# 等 .NET 高级语言开发的 GUI(图形用户界面) 前端应用程序不但能把管理员的自定义消息日志文件,而且能读取客户端上日志文件所记录的任何一条消息内容,并针对这些消息采取相应的对策;假设你正在开发的标准的客户-服务器端应用程序需要在运行时访问 Windows 2000 附带的某些实用程序(比如事件查看器),那么请考虑如何让 C# 应用程序与微软视窗2000 内建的“事件查看器”(Event Viewer) 打交道。

biyusr的专栏 1267

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

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

a99996867的博客 688

详述Windows 2000日志及其删除方法

    Windows 2000日志文件通常有应用程序日志,安全日志、系统日志、DNS服务器日志、FTP日志、WWW日志等等,可能会根据服务器所开启的服务不同。当我们用流光探测时,比如说IPC探测,就会在安全日志里迅速地记下流光探测时所用的用户名、时间等等,用FTP探

得峰的专栏 [网络收藏] 1113

使用 C# .NET 入事件日志

入事件日志 完整代码列表 概要本文演示如何使用 Microsoft .NET 框架在操作系统的事件日志中添加您自己的条目。 要求 下表概括了推荐使用的硬件、软件、网络架构以及所需的 Service Pack: • Microsoft Windows 2000 Professional、Windows 2000 Server、Windows 2000 Advanced Server 或 ...

aiqixiao2017的博客 208

HOW TO:使用 C# .NET 入事件日志 (From MSDN)

本文的发布号曾为 CHS307024 本文讨论一种 Microsoft 产品的 Beta 版本。本文中的信息按“原样”提供,如有更改恕不另行通知。对于该 Beta 产品,Microsoft 不提供正式的产品支持。有关获取对 Beta 版本的支持的信息,请参阅 Beta 产品文件中包括的文档资料,或查看您下载此版本的站点。 有关本文的 Microsoft C# .NET 版本,请参见 301

1213

.NET日志信息Windows日志中解决方案

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

冰河深蓝 EvilGod的专栏 1846

Windows日志操作总结 For .NET

总结一下操作windows系统日志的要点: 1. 注册日志,并更改日志行为 Dim log As System.Diagnostics.EventLog If Not System.Diagnostics.EventLog.Exists() Then log = New System.Diagnostics.EventLog("日志名") log.ModifyOverflowPolicy

←安寧滴重載 861

知识库的构建 [ 3 ]

先按主题或段落初步划分,再对超长块递归细分,直至满足大小限制。递归分块融合了结构化与非结构化处理逻辑,与固定大小的分块不同,这种方法保持了语言的自然流畅性并保留了完整的内容语义。

Small_entreprene的博客 265

使用easyexcel导出数据

使用EasyExcel 2.1.4实现自定义监听器,校验表头(去除换行空格)及数据行:转换实体,检查组合代码/类型、计划类型非空且合法,收集错误信息,返回有效数据列表。

feng_huilu_zhuan的博客 174

C语言实现带头双向循环链表

本人的技术笔记会优先发布在个人站点。

2501_93598028的博客 234

爱普生epson linux ppd文件,cups 616种

爱普生epson打印机 linux ppd文件,cups 616种

MissionPlanner-1.3.9

MissionPlanner-1.3.9中文汉化版,地面站软件

上一篇: [原创]在VB6.0中访问注册表
下一篇: [原创]在C#.net中跟踪代码的运行过程
bluesky35
博客等级 码龄25年 13粉丝 19原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值