Asp.Net写文本日志
底层代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace AddLog
{
/// <summary>
/// 记录:文件以时间命名
/// </summary>
public class Log
{
private static System.IO.StreamWriter swt;
private static System.IO.FileStream fs;
/// <summary>
/// 判断文件是否存在
/// </summary>
private static bool IsExsFile = false;
public static void Init()
{
Init("");
}
/// <summary>
/// 记录初始化
/// </summary>
/// <param name="DirName">文件夹名字:默认为Log</param>
public static void Init(string DirName)
{
string LogPath = string.Empty;
if (!string.IsNullOrWhiteSpace(DirName))
{
LogPath = Environment.CurrentDirectory + "\\" + DirName;
}
else
{
LogPath = Environment.CurrentDirectory + "\\Log";
}
if (!System.IO.Directory.Exists(LogPath))
{
System.IO.Directory.CreateDirectory(LogPath);
}
string LogFile = LogPath + "\\" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt"; if (!System.IO.File.Exists(LogFile))
{
fs = new System.IO.FileStream(LogFile, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.ReadWrite);
swt = new System.IO.StreamWriter(fs, Encoding.UTF8);
}
else
{
IsExsFile = true;
swt = new System.IO.StreamWriter(LogFile,true);
} }
/// <summary>
/// 清除缓存
/// </summary>
public static void Clear()
{
swt.Flush();
swt.Close();
swt.Dispose();
if(!IsExsFile)
{
fs.Close();
fs.Dispose();
} }
/// <summary>
/// 写操作
/// </summary>
/// <param name="strTxt">写入文本</param>
public static void Write(string strTxt)
{
if (swt != null)
{
swt.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\t" + strTxt);
}
}
}
}
调用代码:
AddLog.Log.Init();
AddLog.Log.Write("测试");
AddLog.Log.Clear();
Asp.Net写文本日志的更多相关文章
- C#写文本日志帮助类(支持多线程)改进版(不适用于ASP.NET程序)
由于iis的自动回收机制,不适用于ASP.NET程序 代码: using System; using System.Collections.Concurrent; using System.Confi ...
- C#写文本日志帮助类(支持多线程)
代码: using System; using System.Configuration; using System.IO; using System.Threading.Tasks; namespa ...
- glog另启动线程写文本日志
glog本身是很高效的,google的大牛肯定知道大规模的写日志用glog的话肯定会影响业务线程的处理,带负荷的磁盘IO谁都桑不起.比方levelDB就是默认异步写,更不用说google的三驾马车都是 ...
- 如何将Unicode文本写到日志文件中
有时为了定位问题,我们需要结合打印日志来处理.特别是较难复现的,一般都需要查看上下文日志才能找出可能存在的问题.考虑到程序要在不同语言的操作系统上运行,程序界面显示要支持Unicode,打印出来的日志 ...
- asp.net MVC4 lognet4 日志
asp.net MVC4 lognet4 日志 步骤: 1.引入log4net.dll 2.写配置文件 web.config 加入 如下代码 在<configSections> 中加入&l ...
- SQLite 预写式日志
SQLite在3.7.0版本引入了WAL (Write-Ahead-Logging),WAL的全称是Write Ahead Logging,它是很多数据库中用于实现原子事务的一种机制,引入WAL机制之 ...
- 预写式日志WAL
Chapter 25. 预写式日志(Write-Ahead Logging (WAL)) Table of Contents 25.1. WAL 的好处 25.2. WAL 配置 25.3. 内部 预 ...
- Spring AOP 实现写事件日志功能
什么是AOP?AOP使用场景?AOP相关概念?Spring AOP组件?如何使用Spring AOP?等等这些问题请参考博文:Spring AOP 实现原理 下面重点介绍如何写事件日志功能,把日志保存 ...
- 用ASP.Net写一个发送ICQ信息的程序
用ASP.Net写一个发送ICQ信息的程序 这里我给大家提供一个很实用的例子,就是在线发送ICQ信息.想一想我们在网页上直接给朋友发送ICQ信息,那是多么美妙的事情啊.呵呵,在吹牛啊,其实ICQ本来就 ...
随机推荐
- 面向连接的socket数据处理过程以及非阻塞connect问题
对于面向连接的socket类型(SOCK_STREAM,SOCK_SEQPACKET)在读写数据之前必须建立连接,首先服务器端socket必须在一个客户端知道的地址进行监听,也就是创建socket之后 ...
- centos安装qt开发环境
- Mysql中Key与Index的区别
mysql的key和index多少有点令人迷惑,这实际上考察对数据库体系结构的了解的. 1 key 是数据库的物理结构,它包含两层意义,一是约束(偏重于约束和规范数据库的结构完整性),二是索引(辅助查 ...
- php上传图片到server
php文件上传中会用到$_FILES系统函数 一.$_FILES系统函数 PHP编程语言中的常见的$_FILES系统函数使用方法有: $_FILES['myFile']['name'] 显示clien ...
- 不错的JS
http://www.17sucai.com/preview/47509/2013-10-18/Sequence-master/photo-stack/index.html
- Tomcat7配置数据源(Oracle)
修改../conf/content.xml <?xml version='1.0' encoding='utf-8'?> <!-- The contents of this file ...
- JavaSE复习日记 : 循环终止语句(break/break outerFor/continue)
最近没网,但攒了几天的博客,这次逮到机会发博客,直接三篇走起; /* * 循环终止语句: break/ break outerFor/ continue */ /* * break语句 * 1. 用于 ...
- 关于new 和delete
这是百度知道上的答案,感觉讲的很生动形象,接下来要搞清楚的是new是关键字还是函数,new可以重载吗? 你想弄懂这个问题,首先你要弄清楚数据的3种存储方式. 1.静态区: 全局变量. 2.堆: 程序执 ...
- 无法下载图片 App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file
刚学线程通信,提示: 2016-01-27 11:11:02.246 20-9 gcd3 communicationOfThread[5193:298643] App Transport Securi ...
- JVM学习之常用概念
方法区 当JVM使用类装载器装载某个类时,它首先要定位对应的class文件,然后读入这个class文件,最后,JVM提取该文件的内容信息,并将这些信息存储到方法区,最后返回一个class实例. ...