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 ...
随机推荐
- Java中Generics的使用
1.Java的Generics与C++的Template由于Java的Generics设计在C++的Template之后,因此Java的Generics设计吸取Template的很多经验和教训.首先, ...
- 判断UNITY版本号
代码示例: #if (UNITY_5_3 || UNITY_5_4 || UNITY_5_5 || UNITY_5_6 || UNITY_5_7 || UNITY_5_8 || UNITY_5_9)u ...
- Frog and Portal(思维好题)
Frog and Portal https://hihocoder.com/problemset/problem/1873 时间限制:1000ms 单点时限:1000ms 内存限制:512MB 描述 ...
- 300最长上升子序列 · Longest Increasing Subsequence
[抄题]: 往上走台阶 最长上升子序列问题是在一个无序的给定序列中找到一个尽可能长的由低到高排列的子序列,这种子序列不一定是连续的或者唯一的. 样例 给出 [5,4,1,2,3],LIS 是 [1,2 ...
- Oracle 进入数据库 新增用户 修改密码方法
1.以管理员身份进入 SQL plus 2.输入:sys/manager as sysdba 3.新增用户: 创建新用户: create user 用户名 identified by 密码; 解锁用户 ...
- nginx 反向代理 502 Bad Gateway
查看nginx的error.log日志文件发现如下信息: upstream sent too big header while reading response header from upstrea ...
- C#控制台自定义背景颜色,字体颜色大全
效果: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst ...
- css简单分页
html代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <ti ...
- Codeforces 599B. Spongebob and Joke 模拟
B. Spongebob and Joke time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- asp.net状态保持
1.首先如果不是asp.net webform而只是一个纯粹的html页面和ashx一般处理程序的话,因为http协议的无状态,每一次的页面请求都会重新实例化一个页面对象(注意实例化页面对象其实是通过 ...