【C#通用类】日志记录类
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#通用类】日志记录类的更多相关文章
- 【个人使用.Net类库】(2)Log日志记录类
开发接口程序时,要保证程序稳定运行就要时刻监控接口程序发送和接收的数据,这就需要一个日志记录的类将需要的信息记录在日志文件中,便于自己维护接口程序.(Web系统也是如此,只是对应的日志实现比这个要复杂 ...
- php 简单通用的日志记录方法
使用file_put_contents 方法来实现简单便捷的日志记录功能 方法1: // use \r\n for new line on windows, just \n on linux func ...
- 日志记录类LogHelper
开源日志log4net使用起来很方便,但是项目中不让用,所以自己重写了一个类,用来记录日志,比较简单. 1.首先是可以把日志分成多个类型,分别记录到不同的文件中 /// <summary> ...
- C#日志记录类
public class WriteLog { /// <summary> /// 将错误写入文件中 /// </summary> /// <param name=&qu ...
- Java 基于log4j的日志工具类
对log4j日志类进行了简单封装,使用该封装类的优势在于以下两点: 1.不必在每个类中去创建对象,直接类名 + 方法即可 2.可以很方便的打印出堆栈信息 package com.tradeplatfo ...
- Log 日志工具类 保存到文件 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- yii学习笔记(6),连接数据库,创建活动记录类
创建数据库用于测试 配置数据库连接 打开yii的配置文件目录下的数据库配置文件config/db.php <?php return [ 'class' => 'yii\db\Connect ...
- 利用AOP与ToStringBuilder简化日志记录
刚学spring的时候书上就强调spring的核心就是ioc和aop blablabla...... IOC到处都能看到...AOP么刚开始接触的时候使用在声明式事务上面..当时书上还提到一个用到ao ...
- C# 面向切面编程--监控日志记录方案
背景:现在公司整体在做监控平台,要求把各个部分的细节都记录下来,在前台页面上有所显示,所以现在需要做的就是一个监控日志的记录工作,今天讲的就是渲染监控日志的例子. 现状:当前的渲染程序没有为监控日志记 ...
随机推荐
- http方式的联调经验
这近在做一个项目,现在刚与厂家做联调.我的系统是windows2008,他的测试机是unix,他本机是XP的.本来用httppost方式给他本机发送中文数据是正常的,但是发送到他的unix上,中文就变 ...
- 静默安装ORACLE【weber出品必属精品】
安装配置系统环境安装linux ,所有服务都不选择,只是选择安装开发工具,不要安装防火墙(当然也可以在后面关闭) 打开终端,执行如下命令,检查安装包,没有的都要安装 make, glibc, liba ...
- Php GMP
GMP是The GNU MP Bignum Library,是一个开源的数学运算库,它可以用于任意精度的数学运算,包括有符号整数.有理数和浮点数.它本身并没有精度限制,只取决于机器的硬件情况. 本函数 ...
- javascript 比较对象(hashcode)
javascript 对象的比较是比较坑爹的一件事,因为javascript对象比较的是引用地址!当两个内容完全一样的对象比较: var object1={ name:"1234 " ...
- 关于<%@ include file=" " %>与<jsp:include page=""></jsp:include>中的那些问题?
今天在使用<%@ include file=" " %>指令时,竟然在页面中不让使用?这是怎么回事:问题如下图: 顿时被这个问题给搞到了!!!突然想到在以前的 JSP ...
- 禁止ios默认拉动弹性行为
document.ontouchmove = function(e) { e.preventDefault();} /** 禁止ios默认拉动弹性行为**///屏蔽ios下浏览器滚动缓冲效果
- 为Linux服务器伪装上Windows系统假象
网络上的计算机很容易被黑客利用工具或其它手段进行扫描,以寻找系统中的漏洞,然后再针对漏洞进行攻击. 通过伪装Linux系统,给黑客设置系统假象,可以加大黑客对系统的分析难度,引诱他们步入歧途,从而进一 ...
- Python自动化运维之2、运算符与数据类型
python对象的相关术语: python程序中保存的所有数据都是围绕对象这个概念展开的: 程序中存储的所有数据都是对象 每个对象都有一个身份.一个类型和一个值 例如,school='MaGe Lin ...
- EF 多线程插入 Insert into DbContext Multithreading
当通过task 插入多条数据时报错. DBcontext 不是线程安全的, 如果是WebAPI 为每个请求创建DbContext 部分解释: http://stackoverflow.com/ques ...
- Spark学习笔记--Graphx
浅谈Graphx: http://blog.csdn.net/shangwen_/article/details/38645601 Pregel: http://blog.csdn.net/shang ...