using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web; namespace KTCommon.LOG
{
public class TraceLog
{
/// <summary>
/// 全局日志对象
/// </summary>
public static TraceLog m_Trace = new TraceLog((HttpRuntime.AppDomainAppId == null) ?
"d://LOG" : HttpRuntime.AppDomainAppPath + "//", "KTGJ"); public string m_LogFilePath = "";//当前日志文件路径 private string m_xmlPath = ""; //Log的目录 private string m_FileNamePrefix = "";
StreamWriter SW; public TraceLog(string filePath, string fileNamePrefix)
{
m_xmlPath = filePath;
m_FileNamePrefix = fileNamePrefix;
} #region //将显示的提示信息写到Log文件
public void Trace(string tipMsg)
{
string nodeTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
Trace(nodeTime, tipMsg);
tipMsg = null;
}
public void Trace(string nodeTime, string tipMsg)
{
try
{
//一小时写一个文件
string strNowY = DateTime.Now.Year.ToString();
string strNowM = DateTime.Now.Month.ToString();
string strNowD = DateTime.Now.Day.ToString();
string strNowH = DateTime.Now.Hour.ToString();
string fileName = m_FileNamePrefix + "_" + strNowH + "0000.log";
string filePath = m_xmlPath + "\\LOG\\" + strNowY + "\\" + strNowM + "\\" + strNowD + "\\";
if (nodeTime != "")
{
nodeTime = "[" + nodeTime + "] ";
} //LOG目录不存在,则创建 if (Directory.Exists(filePath) == false)
{
Directory.CreateDirectory(filePath);
} m_LogFilePath = filePath + fileName;
//日志文件不存在,则创建 if (File.Exists(filePath + fileName) == false)
{
if (SW != null)
{
SW.Flush();
SW.Close();
}
File.Create(filePath + fileName).Close();
SW = new StreamWriter(filePath + fileName, true, Encoding.UTF8);
}
//创建实例
if (SW == null)
{
SW = new StreamWriter(filePath + fileName, true, Encoding.UTF8);
}
//将内容写到log文件中 SW.WriteLine(nodeTime + tipMsg);
//刷新,实时保存 SW.Flush();
}
catch (Exception ex)
{
System.Diagnostics.Debug.Print("TraceLog Error:" + ex.Message.ToString());
}
}
#endregion //将消息写到Log文件
}
}

【C#通用类】日志记录类的更多相关文章

  1. 【个人使用.Net类库】(2)Log日志记录类

    开发接口程序时,要保证程序稳定运行就要时刻监控接口程序发送和接收的数据,这就需要一个日志记录的类将需要的信息记录在日志文件中,便于自己维护接口程序.(Web系统也是如此,只是对应的日志实现比这个要复杂 ...

  2. php 简单通用的日志记录方法

    使用file_put_contents 方法来实现简单便捷的日志记录功能 方法1: // use \r\n for new line on windows, just \n on linux func ...

  3. 日志记录类LogHelper

    开源日志log4net使用起来很方便,但是项目中不让用,所以自己重写了一个类,用来记录日志,比较简单. 1.首先是可以把日志分成多个类型,分别记录到不同的文件中 /// <summary> ...

  4. C#日志记录类

    public class WriteLog { /// <summary> /// 将错误写入文件中 /// </summary> /// <param name=&qu ...

  5. Java 基于log4j的日志工具类

    对log4j日志类进行了简单封装,使用该封装类的优势在于以下两点: 1.不必在每个类中去创建对象,直接类名 + 方法即可 2.可以很方便的打印出堆栈信息 package com.tradeplatfo ...

  6. Log 日志工具类 保存到文件 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  7. yii学习笔记(6),连接数据库,创建活动记录类

    创建数据库用于测试 配置数据库连接 打开yii的配置文件目录下的数据库配置文件config/db.php <?php return [ 'class' => 'yii\db\Connect ...

  8. 利用AOP与ToStringBuilder简化日志记录

    刚学spring的时候书上就强调spring的核心就是ioc和aop blablabla...... IOC到处都能看到...AOP么刚开始接触的时候使用在声明式事务上面..当时书上还提到一个用到ao ...

  9. C# 面向切面编程--监控日志记录方案

    背景:现在公司整体在做监控平台,要求把各个部分的细节都记录下来,在前台页面上有所显示,所以现在需要做的就是一个监控日志的记录工作,今天讲的就是渲染监控日志的例子. 现状:当前的渲染程序没有为监控日志记 ...

随机推荐

  1. http方式的联调经验

    这近在做一个项目,现在刚与厂家做联调.我的系统是windows2008,他的测试机是unix,他本机是XP的.本来用httppost方式给他本机发送中文数据是正常的,但是发送到他的unix上,中文就变 ...

  2. 静默安装ORACLE【weber出品必属精品】

    安装配置系统环境安装linux ,所有服务都不选择,只是选择安装开发工具,不要安装防火墙(当然也可以在后面关闭) 打开终端,执行如下命令,检查安装包,没有的都要安装 make, glibc, liba ...

  3. Php GMP

    GMP是The GNU MP Bignum Library,是一个开源的数学运算库,它可以用于任意精度的数学运算,包括有符号整数.有理数和浮点数.它本身并没有精度限制,只取决于机器的硬件情况. 本函数 ...

  4. javascript 比较对象(hashcode)

    javascript 对象的比较是比较坑爹的一件事,因为javascript对象比较的是引用地址!当两个内容完全一样的对象比较: var object1={ name:"1234 " ...

  5. 关于<%@ include file=" " %>与<jsp:include page=""></jsp:include>中的那些问题?

    今天在使用<%@ include file=" " %>指令时,竟然在页面中不让使用?这是怎么回事:问题如下图: 顿时被这个问题给搞到了!!!突然想到在以前的 JSP ...

  6. 禁止ios默认拉动弹性行为

    document.ontouchmove = function(e) { e.preventDefault();} /** 禁止ios默认拉动弹性行为**///屏蔽ios下浏览器滚动缓冲效果

  7. 为Linux服务器伪装上Windows系统假象

    网络上的计算机很容易被黑客利用工具或其它手段进行扫描,以寻找系统中的漏洞,然后再针对漏洞进行攻击. 通过伪装Linux系统,给黑客设置系统假象,可以加大黑客对系统的分析难度,引诱他们步入歧途,从而进一 ...

  8. Python自动化运维之2、运算符与数据类型

    python对象的相关术语: python程序中保存的所有数据都是围绕对象这个概念展开的: 程序中存储的所有数据都是对象 每个对象都有一个身份.一个类型和一个值 例如,school='MaGe Lin ...

  9. EF 多线程插入 Insert into DbContext Multithreading

    当通过task 插入多条数据时报错. DBcontext 不是线程安全的, 如果是WebAPI 为每个请求创建DbContext 部分解释: http://stackoverflow.com/ques ...

  10. Spark学习笔记--Graphx

    浅谈Graphx: http://blog.csdn.net/shangwen_/article/details/38645601 Pregel: http://blog.csdn.net/shang ...