20181015记录一个简单的TXT日志类
20190422添加换行以及时间记录
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace DAL
{
public class TXTLogHelper
{
/// <summary>
/// 对某些操作进行TXT日志记录
/// </summary>
public static void LogBackup(string LogString)
{
//处理logstring,添加日期和换行
LogString = DateTime.Now.ToString() + ":" +LogString;
LogString += "\r\n"; string logFolder = GetOrCreateLogFilePath();
string logFile = GetBackupLogFileName(); FileInfo file = new FileInfo(logFile);
FileStream fs = file.Open(FileMode.Append, FileAccess.Write);
byte[] bytes = Encoding.UTF8.GetBytes(LogString);
fs.Write(bytes, , bytes.Length);
fs.Flush();
fs.Close();
fs.Dispose();
} //获取目录路径,如果不存在则创建
private static string GetOrCreateLogFilePath()
{
string backupFolder = System.Environment.CurrentDirectory + "\\log";
if (!Directory.Exists(backupFolder))
Directory.CreateDirectory(backupFolder);
return backupFolder;
} private static string GetBackupLogFileName()
{
//为了防止数据量过大,按照日期每天生成一个日志文件
string logFileId = DateTime.Now.ToString("yyyy-MM-dd");
return GetOrCreateLogFilePath() + "\\" + logFileId + ".txt";
}
}
}
废话不说,直接上代码
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace Utilities
{
public class TXTLogHelper
{
/// <summary>
/// 对某些操作进行TXT日志记录
/// </summary>
public static void LogBackup(string LogString)
{
string logFolder = GetOrCreateLogFilePath();
string logFile = GetBackupLogFileName(); FileInfo file = new FileInfo(logFile);
FileStream fs = file.Open(FileMode.Append, FileAccess.Write);
byte[] bytes = Encoding.UTF8.GetBytes(LogString);
fs.Write(bytes, , bytes.Length);
fs.Flush();
fs.Close();
fs.Dispose();
} //获取备份目录路径,如果不存在则创建
private static string GetOrCreateLogFilePath()
{
string backupFolder = System.Environment.CurrentDirectory + "\\log";
if (!Directory.Exists(backupFolder))
Directory.CreateDirectory(backupFolder);
return backupFolder;
} private static string GetBackupLogFileName()
{
//为了防止数据量过大,按照日期每天生成一个日志文件
string logFileId = DateTime.Now.ToString("yyyy-MM-dd");
return GetOrCreateLogFilePath() + "\\" + logFileId + ".txt";
}
}
}
20181015记录一个简单的TXT日志类的更多相关文章
- 基于AOP和ThreadLocal实现的一个简单Http API日志记录模块
Log4a 基于AOP和ThreadLocal实现的一个简单Http API日志记录模块 github地址 : https://github.com/EalenXie/log4a 在API每次被请求时 ...
- 简单实用的日志类CLog (Python版)
#coding: utf-8 import time ''' /***************************************************************** Fu ...
- 如何用C++封装一个简单的数据流操作类(附源码),从而用于网络上的数据传输和解析?
历史溯源 由于历史原因,我们目前看到的大部分的网络协议都是基于ASCII码这种纯文本方式,也就是基于字符串的命令行方式,比如HTTP.FTP.POP3.SMTP.Telnet等.早期操作系统UNIX( ...
- java使用注解和反射打造一个简单的jdbc工具类
a simple jdbc tools 如有转载和引用,请注明出处,谢谢 1. 定义我们需要的注解 要想实现对数据库的操作,我们必须知道数据表名以及表中的字段名称以及类型,正如hibernate 使用 ...
- 一个简单的php分页类代码(转载)
入门级php分页类 原文地址:http://www.xfcodes.com/php/fenye/3608.htm 时间:2015-12-16 20:52:00来源:网络 php分页类. 复制代码代码如 ...
- 一个简单实现的string类
为了复习c++知识,简单的实现一个string类,类名为CMyString 环境说明:windows 7 64位 和 CentOS Linux release 7.6.1810 (Core) 开发工具 ...
- [PCB制作] 1、记录一个简单的电路板的制作过程——四线二项步进电机驱动模块(L6219)
前言 现在,很多人手上都有一两个电子设备,但是却很少有人清楚其中比较关键的部分(PCB电路板)是如何制作出来的.我虽然懂点硬件,但是之前设计的简单系统都是自己在万能板上用导线自己焊接的(如下图左),复 ...
- 通过一个简单的数据库操作类了解PHP链式操作的实现
class Model{ public $table; //操作的表; private $opt; //查询的参数; private $pri; //表的主键; private $lastSql; / ...
- 一个简单的redis调用类
能只能判断函数的调用规则,容错规则, 例如set函数 set($key, $value, $time = false) 根据time的真假来判断是否使用set,或者是setex函数 get函数 get ...
随机推荐
- python的进程间的数据交互
#先来看下如何实现多进程 # multiprocessing 这个是python的多进程的模块,我们会用到这个模块的很多方法 from multiprocessing import Process i ...
- win10下zip安装mysql5.7的一些问题
一.MySQL下载地址: http://dev.mysql.com/downloads/mysql/ 我们下载zip版本的 二.解压zip文件 三.复制一份里面的my-default.ini为 ...
- JsonConvert.SerializeObject 空值处理
var settings = new JsonSerializerSettings() { ContractResolver= new NullToEmptyStringResolver() }; v ...
- 四种强制类型转换的总结(const_cast、static_cast、dynamic_cast、reinterpreter_cast)
四种强制类型转换的总结(const_cast.static_cast.dynamic_cast.reinterpreter_cast) 转载 2011年10月03日 23:59:05 标签: stru ...
- mybatis框架的架构(图解)
1. mybatis配置 SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息. mapper.xml文件即sql映射文件,文件中配置了操作数 ...
- [Selenium]对弹出的Alert窗口进行操作
Alert alert = driver.switchTo().alert(); alert.accept();
- DefaultSingletonBeanRegistry
DefaultSingletonBeanRegistry 这是 DefaultSingletonBeanRegistry 类的体系结构,由一个类一个责任的原则: AliasRegistry : 提供别 ...
- 获得iframe 高度 ,各种浏览器
function fuFunctiondan(){ var frm=$("#z_div"); var iframeHeight=0; if (navigator.userAgent ...
- android的 Base64
byte[] key=Base64.decode("YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4".getBytes(), Base64.DEFAULT); ...
- xampp虚拟主机的配置
ps:来源 https://blog.csdn.net/qq_17335153/article/details/52091869 一.修改httpd.conf 文件目录 xampp => ...