添加日志

Posted 322829

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了添加日志相关的知识,希望对你有一定的参考价值。

using System;
using System.IO;
using System.Text;

namespace Common.Log

    /// <summary>
    ///添加日志
    ///  V1.0
    /// </summary>
    public class LogHelper
   

        /// <summary>
        /// 获取文件路径+文件名称
        /// </summary>
        /// <param name="strPath"></param>
        /// <returns></returns>
        private static string GetFullName(string strPath)
       
            string basePath = AppDomain.CurrentDomain.BaseDirectory+"\\\\Log";
            if (!Directory.Exists(basePath))
           
                Directory.CreateDirectory(basePath);
           
            return Path.Combine(basePath, DateTime.Now.ToString("yyyyMMdd") + ".txt");
       

        /// <summary>
        /// 异常日志写入
        /// </summary>
        /// <param name="errorMsg"></param>
        /// <param name="ex"></param>
        public static void Error(string errorMsg, Exception ex = null)
       
            WriteLog(ex != null ? ex.ToString() : errorMsg, Encoding.UTF8, true);
       

        /// <summary>
        /// 日志写入
        /// </summary>
        /// <param name="msg"></param>
        public static void Info(string msg)
       
            WriteLog(msg, Encoding.UTF8, true);
       

        /// <summary>
        /// 日志文件写入
        /// </summary>
        /// <param name="filePath"></param>
        /// <param name="msg"></param>
        /// <param name="code"></param>
        /// <param name="bTime"></param>
        public static void Info(string filePath, string msg, Encoding code, bool bTime = true)
       
            WriteLog(msg, code, bTime);
       

        /// <summary>
        /// LOG写入
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="filePath"></param>
        /// <param name="code"></param>
        /// <param name="bFlag"></param>
        private static void WriteLog(string msg, Encoding code, bool bFlag = true)
       
            string fileName = GetFullName("");
            using (FileStream fs = new FileStream(fileName, FileMode.Append, FileAccess.Write))
           
                using (StreamWriter sw = new StreamWriter(fs, code))
               
                    try
                   
                        sw.WriteLine(MsgFormat(msg, bFlag));
                   
                    catch
                   
                        // ignored
                   
               
           
       

        /// <summary>
        /// 写入日志格式化
        /// </summary>
        /// <param name="Msg"></param>
        /// <param name="bFlag"></param>
        /// <returns></returns>
        private static string MsgFormat(string Msg, bool bFlag)
       
            if (bFlag)
           
                StringBuilder log = new StringBuilder();
                log.AppendLine("<--------------------写入时间:" + DateTime.Now + "-------------------->");
                log.AppendLine(Msg);
                log.AppendLine("<--------------------结束时间:" + DateTime.Now + "-------------------->");
                return log.ToString();
           
            return Msg;
       

   

    /// <summary>
    /// 日志类型
    /// </summary>
    internal enum LogType
   

        /// <summary>
        /// 错误日志
        /// </summary>
        Error = 1,

        /// <summary>
        /// Debug
        /// </summary>
        Debug = 2

   

调用:  LogHelper.Info("需要写入到TXT文件中的内容");

以上是关于添加日志的主要内容,如果未能解决你的问题,请参考以下文章

Apache日志详解

二进制日志

在 Java 中启动 Log4j2 RollingFileAppender

Apache/Nginx/IIS 访问日志详解

SqlServer压缩数据库日志

logback中配置的日志文件的生成地址