文档章节

读写文件之日志文件

vga
 vga
发布于 2016/08/06 06:44
字数 288
阅读 5
收藏 0

我们在写软件的时候,经常要记录一些登陆信息、删除信息之类,便于日后查询。我简单写了一个针对日志文件的类,可以通过此类可以自定义日志文件名称,当日志达到规定大小时,自动备份,路径可以自行定义具体如下: 命名空间:

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

具体实现: public class LogFile { protected string LogfileName; // 文件名称 protected string LogPath = "../upedFile"; // 文件路径 protected int LogMaxContent = 2048; // 文件大小 protected string InputContent; // 具体内容

public LogFile() {

}

public LogFile(string StrLogfileName,string StrInputContent,string StrLogPath) { LogfileName = StrLogfileName; InputContent = StrInputContent; LogPath = StrLogPath;

}

public void LogWrite() { // string PathName = System.Web.HttpContext.Current.Server.MapPath(LogPath) + LogfileName; string PathName = System.Web.HttpContext.Current.Server.MapPath(LogPath) + "\" + LogfileName; FileInfo Finfo = new FileInfo(PathName);

string PathNameMove = PathName.Substring(0,PathName.LastIndexOf("\"))+"\" + DateTime.Now.ToString("yyyyMMddhhmm") + LogfileName;

if( Finfo.Exists && Finfo.Length > LogMaxContent ) // 如果超出,重名名 { Finfo.CopyTo(PathNameMove); Finfo.Delete(); }

try { using(FileStream Fs = Finfo.OpenWrite()) { StreamWriter Sw = new StreamWriter(Fs);

 Sw.BaseStream.Seek(0, SeekOrigin.End); //设置写数据流的起始位置为文件流的末尾

 StringBuilder StrInput = new StringBuilder(); // 记录写入的内容
 StrInput.Append("\r\n Log Entry : "); 
 StrInput.Append(DateTime.Now.ToString());
 StrInput.Append("\r\n");
 StrInput.Append(InputContent + "\r\n");
 StrInput.Append("------------------------------------\n");

 Sw.Write(StrInput);    
 Sw.Flush();    
 Sw.Close();
}

} catch { System.Web.HttpContext.Current.Response.Write("<script language=javascript>alert('日志创建失败')</script>"); }

}

本文转载自:http://www.cnblogs.com/skylaugh/archive/2006/03/17/352342.html

vga

vga

粉丝 21
博文 363
码字总数 26355
作品 0
佳木斯
私信 提问
store4j 简单的基于日志的数据存储

地址:https://code.google.com/p/store4j/ 简介 在Message系统中,经常会有数据大量的保存,并且在很短时间内删除的需求;很明显,这样的需求采用数据库是不合适的,本项目实现了通过文件来...

diwayou
2013/05/28
0
0
mysql的复制集群,及读写分离

为什么要设置mysql集群? 为了减轻,mysql服务器的IO压力,设置多个其他mysql服务器帮他分担读写操作 1.mysql复制集群的类型 主从架构(从服务器只读,不可写) 一主一从, 一主多重 主主架构...

一期一会cc
2018/08/08
0
0
重做日志及归档日志的工作原理解析

开门见山,先来看张图(PS:这张图是我从网上找的): 工作原理: 首先lgwr进程将redo log buffer中的重做数据写入到redo log中,此时的redo log分组,每当一个redo log group写满时,或者发出...

Super康
2017/10/17
0
0
5款最优秀的Linux自由日志文件查看器

服务器日志是一台服务器创建和更新的日志文件。一个常见的例子是Apache(开源Web服务器软件)生成的访问日志,它提供了网页请求的历史。然 而,Apache不只是收集访问的信息,它还为错误日志收...

红薯
2010/06/06
744
0
裸设备和Oracle问答20例

1.什么叫做裸设备? 裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊字符设备。它由应用程序负责对它进行读写操作。不经过文件系统的缓冲。 2.如何...

linuxprobe
2016/06/24
2
0

没有更多内容

加载失败,请刷新页面

加载更多

跨域的理解,以及解决方案!

/*什么是跨域? * 跨域的主要原因是浏览器的同源策略。 * =>>所谓的同源策略就是A网页设置的 Cookie,B网页不能打开,除非这两个网页"同源"。 * 什么是同源? * =>>同源就是协议相同、域名相同...

流年那么伤
16分钟前
3
0
Nginx配置try_fiels,php无法获取$_GET参数

平时开发都是用LNMP,新安装的虚拟机在配置nginx的rewrite的时候使用try_files命令。但是在写的时候配置成“try_files $uri $uri/ /index.php?q=args;”, 在PHP的web程序中,打印$_GET为空。...

叫我哀木涕
16分钟前
1
0
【原创】Microsoft Edge可以用localhost访问但无法用IP访问

Microsoft Edge可以用localhost和127.0.0.1访问但无法用本机IP访问, chrome ie都可以推测是edge的问题,网络是专用网络,防火墙也关了: 在edge里 按F12 以在控制台里看到这句 CONSOLE21301...

shzwork
17分钟前
1
0
Python利用数学方程式画4种不一样的心型图案

前言 下面这四个心型图案,是通过科学地计算,根据数学方程式生成的,虽然做的不是特别完美,但是基本的还是能实现的 第一个心型 结果图 第二心型 结果图 学习从来不是一个人的事情,要有个相互监...

A_裙232550246
17分钟前
1
0
微信带场景参数的二维码生成与使用?

微信公众号推广时,用户通过扫二维码关注公众号,需要统计用户是通过谁的二维码进行关注。 在用户扫码关注公众号时,二维码带上推广者的参数,在关注公众号后,获取到该推广者的参数。 目前有...

wxgzhgncj
18分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部