C# 记录日志

复制代码
        /// <summary>
        /// 日志部分
        /// </summary>
        /// <param name="fileName"></param>
        /// <param name="type"></param>
        /// <param name="content"></param>
        public static void WriteLogs(string fileName, string type, string content)
        {
            string path = AppDomain.CurrentDomain.BaseDirectory;
            if (!string.IsNullOrEmpty(path))
            {
                path = AppDomain.CurrentDomain.BaseDirectory + fileName;
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                path = path + "\\" + DateTime.Now.ToString("yyyyMMdd");
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                path = path + "\\" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
                if (!File.Exists(path))
                {
                    FileStream fs = File.Create(path);
                    fs.Close();
                }
                if (File.Exists(path))
                {
                    StreamWriter sw = new StreamWriter(path, true, System.Text.Encoding.Default);
                    sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + type + "-->" + content);
                    //  sw.WriteLine("----------------------------------------");
                    sw.Close();
                }
            }
        }
复制代码

 

复制代码
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
  
namespace Utils
{
    /// <summary>
    /// <para> </para>
    ///  常用工具类——系统日志类
    /// <para> ---------------------------------------------------</para>
    /// <para> WriteEventLog:写入系统日志(2个方法重载)</para>
    /// <para> DelEventName:删除日志事件源分类</para>
    /// </summary>
    public class EventLogHelper
    {
        #region 写入系统日志
        /// <summary>
        /// 写入系统日志
        /// </summary>
        /// <param name="EventName">事件源名称</param>
        /// <param name="LogStr">日志内容</param>
        public static void WriteEventLog(string EventName, string LogStr)
        {
            try
            {
                if (!EventLog.SourceExists(EventName))
                {
                    EventLog.CreateEventSource(EventName, EventName);
                }
                EventLog.WriteEntry(EventName, LogStr);
            }
            catch (Exception)
            {
            }
        }
        /// <summary>
        /// 写入系统日志
        /// </summary>
        /// <param name="EventName">事件源名称</param>
        /// <param name="LogType">日志类型</param>
        /// <param name="LogStr">日志内容</param>
        public static void WriteEventLog(string EventName, string LogStr, EventLogEntryType LogType)
        {
            try
            {
                if (!EventLog.SourceExists(EventName))
                {
                    EventLog.CreateEventSource(EventName, EventName);
                }
                EventLog.WriteEntry(EventName, LogStr, LogType);
            }
            catch (Exception)
            {
            }
        }
        #endregion
  
        #region 删除日志事件源分类
        /// <summary>
        /// 删除日志事件源分类
        /// </summary>
        /// <param name="EventName">事件源名</param>
        /// <returns></returns>
        public static bool DelEventName(string EventName)
        {
            bool flag = false;
            try
            {
                if (EventLog.SourceExists(EventName))
                {
                    EventLog.DeleteEventSource(EventName,".");
                    flag = true;
                }
            }
            catch (Exception)
            {
            }
            return flag;
        }
        #endregion
    }
}
EventLogHelper
复制代码

 

posted @   哈哈哈嗝  阅读(19808)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示