1.如何书写日志格式
日志格式规范
日志文件的格式设定需要根据不同的服务器来设置:
• APACHE或Tomcat 服务器
Apache 和Tomcat等采用默认格式即可
• IIS服务器
1. 在网站“属性”窗口, “网站”标签中在“启用日志记录”前打勾,并在“活动日志格式”中选择“W3C扩展日志文件格式”。
2.点击“活动日志格式”右侧的“属性”,设置“常规属性”。在“新建日志时间”选项选择“每天”,在“文件命名和回卷使用当地时间”前打勾。系统日志默认存放位置是“C:\WINDOWS\system32\LogFiles”,建议设置到一个容量大的非系统盘。
3点击“活动日志格式”右侧的“属性”,设置“扩展属性”。在“扩展日志记录选项”里选择如下选项,并点击“确定”保存。
(1) 日期(date)
(2) 时间(time)
(3) 客户端IP地址(c-ip)
(4) 用户名(cs-username)
(5) 方法(cs-method)
(6) URI资源(cs-uri-stem)
(7) URI查询(cs-uri-query)
(8) 协议状态(sc-status)
(9) 发送的字节数(sc-bytes)
(10) 协议版本(cs-version)
(11) 用户代理(csUser-Agent)
(12) 引用站点(csReferer)
更多说明,请参考网址:
#LOGFORMAT
2.C语言写日志库时怎样做到能每天生成一个新文件,甚至能删除很旧的
#include <stdio.h>
#include <time.h>
int main()
{
FILE *fp = NULL;
char logName[20]={0};
time_t timep;
struct tm *p;
time(&timep);
p = gmtime(&timep);
sprintf(logName,"%d%02d%02d.txt",(1900+p->tm_year), (1+p->tm_mon), p->tm_mday);
fp = fopen(logName,"a+");
fputs("test log\n",fp);
fclose(fp);
return 0;
}
//每天创建一个新文件,当天日志都会追加到这个文件
至于删除文件也是一个道理,只要知道你要删除多少天前的,
拼接出名字直接删除就好
3.c语言怎么写log日志
#include <stdio.h>
#include <stdarg.h>
#include <time.h>
int write_log (FILE* pFile, const char *format, 。) {
va_list arg;
int done;
va_start (arg, format);
//done = vfprintf (stdout, format, arg);
time_t time_log = time(NULL);
struct tm* tm_log = localtime(&time_log);
fprintf(pFile, "%04d-%02d-%02d %02d:%02d:%02d ", tm_log->tm_year + 1900, tm_log->tm_mon + 1, tm_log->tm_mday, tm_log->tm_hour, tm_log->tm_min, tm_log->tm_sec);
done = vfprintf (pFile, format, arg);
va_end (arg);
fflush(pFile);
return done;
}
4.c++ MFC 中想写个日志文件
你open之后不要close不就行了?等程序退出的时候再close。
代码:
class LogFile
{
public:
static LogFile &instance();
operator FILE *() const { return m_file; }
private
LogFile(const char *filename)
{
m_file = fopen(filename, "a+");
}
~LogFile()
{
fclose(m_file);
}
FILE *m_file;
};
LogFile &LogFile::instance()
{
static LogFile log("AppLog.txt");
return log;
}
用的时候可以这么写:
fwrite("abc", 1, 3, LogFile::instance());
第一次调用到LogFile::instance()的时候会打开AppLog.txt,没有会自动创建这个文件。
程序退出的时候会自动关闭这个文件。
5.空间里日志格式怎么写
换行在字末尾按 enter 就会计入下一行开端 嫌中间空的不够继续enter
文本文档不会默认排版、自行换行,所以你在别处的复制排好版的文字粘贴的文本中,会出现一路走到底的现象,处理方式先粘贴到word里,然后再放在文本中。
然后如果文本文档里的文字排好版后复制到空间里一般不会发生变化的,有变化也是极少数。
你利用空格键(键盘上最长的那个键) 和 enter 键 就能把日志排版好。复制的用法就用鼠标先点击到需要复制的第一个字上面,然后往下拖,拖到你需要复制的最后一个字上面(左键不要松),你打上标记的部分就被上上黑色的色彩,然后松开鼠标左键,注意,这个时候鼠标左键不要按了,在黑色部分点击鼠标右键,出来一个列表,上面有复制选项,左键点击一下。然后找到你想要保存的日志,空白处点鼠标右键,出来个列表上面有粘贴选项,左键点击。OK了。其实Ctrl +C 、好ctrl + v 也能实现,不过看出来你是小白也就算了,省的出错。
6.log4 记录多个日志文件怎么配置 c
实现了基本的文件操作功能,构造函数如下:
FileAppender(const log4cplus::tstring& filename, LOG4CPLUS_OPEN_MODE_TYPE mode = LOG4CPLUS_FSTREAM_NAMESPACE::ios::trunc, bool immediateFlush = true);
filename : 文件名
mode : 文件类型,可选择的文件类型包括app、ate、binary、in、out、trunc,因为实际上只是对 stl的一个简单包装,呵呵,这里就不多讲了。缺省是trunc,表示将先前文件删除。
immediateFlush :缓冲刷新标志,如果为true表示每向文件写一条记录就刷新一次缓存,否则直到FileAppender 被关闭或文件缓存已满才更新文件,一般是要设置true的,比如你往文件写的过程中出现 了错误(如程序非正常退出),即使文件没有正常关闭也可以保证程序终止时刻之前的所有 记录都会被正常保存。
7.C程序中如何向文件中写入当前系统时间及日志
#include <stdio.h>
#include <time.h>
int main(int argc,char** argv)
{
time_t t;
FILE *pFile;
pFile = fopen(argv[1],a+);
time(&t);
fprintf(pFile,"Today's date and time: %s\n", ctime(&t));
fclose(pFile);
return 0;
}
8.C程序中如何向文件中写入当前系统时间及日志
using System.IO;
path是文件路径
message 是要写入的东西
FileStream fs = new FileStream(path, FileMode.Append);
StreamWriter writer = new StreamWriter(fs);
writer.Write(messages + "\n");
writer.Close();
fs.Close();
以前的,希望对你有帮助谢谢