1 Registro fácil++
Easylogging ++ es una biblioteca de registros multiplataforma de código abierto con un solo archivo de encabezado. Tiene las ventajas de una integración simple y fácil, velocidad extremadamente rápida, seguridad de subprocesos, alta eficiencia, configurabilidad y escalabilidad, etc. También es mi biblioteca de registros principal. ahora.
1.1 Descargar Easylogging++
Dirección de Github: https://github.com/amrayn/easyloggingpp
Descargue Easylogging++ de Githu. Solo hay dos archivos descargados, easylogging++.h
y easylogging++.cc
.
1.1 Configurar Easylogging++ en VS
Haga clic derecho en el proyecto-Propiedades-C++General-Proyectos adicionales incluidos, agregue easylogging++.h
el directorio donde se encuentra
se easylogging++.cc
agregará al proyecto.
1.2 Usando Easylogging++
(1) Incluir archivos de encabezado
// easylogging++
#include "easylogging++.h"
#define ELPP_THREAD_SAFE
(2) Inicializar Easylogging++
INITIALIZE_EASYLOGGINGPP
(3) Establecer la configuración de salida del registro
static void InitEasyloggingPP()
{
el::Configurations conf;
// 启用日志
conf.setGlobally(el::ConfigurationType::Enabled, "true");
//设置日志文件目录以及文件名
conf.setGlobally(el::ConfigurationType::Filename, "log\\log_%datetime{%Y%M%d %H%m%s}.log");
//设置日志文件最大文件大小
conf.setGlobally(el::ConfigurationType::MaxLogFileSize, "20971520");
//是否写入文件
conf.setGlobally(el::ConfigurationType::ToFile, "true");
//是否输出控制台
conf.setGlobally(el::ConfigurationType::ToStandardOutput, "true");
//设置日志输出格式
conf.setGlobally(el::ConfigurationType::Format, "[%datetime] [%loc] [%level] : %msg");
//设置日志文件写入周期,如下每100条刷新到输出流中
conf.setGlobally(el::ConfigurationType::LogFlushThreshold, "100");
//设置配置文件
el::Loggers::reconfigureAllLoggers(conf);
}
(4) Programa de muestra
// easylogging++
#include "easylogging++.h"
#define ELPP_THREAD_SAFE
INITIALIZE_EASYLOGGINGPP
static void InitEasyloggingPP()
{
el::Configurations conf;
// 启用日志
conf.setGlobally(el::ConfigurationType::Enabled, "true");
//设置日志文件目录以及文件名
conf.setGlobally(el::ConfigurationType::Filename, "log\\log_%datetime{%Y%M%d %H%m%s}.log");
//设置日志文件最大文件大小
conf.setGlobally(el::ConfigurationType::MaxLogFileSize, "20971520");
//是否写入文件
conf.setGlobally(el::ConfigurationType::ToFile, "true");
//是否输出控制台
conf.setGlobally(el::ConfigurationType::ToStandardOutput, "true");
//设置日志输出格式
conf.setGlobally(el::ConfigurationType::Format, "[%datetime] [%loc] [%level] : %msg");
//设置日志文件写入周期,如下每100条刷新到输出流中
conf.setGlobally(el::ConfigurationType::LogFlushThreshold, "100");
//设置配置文件
el::Loggers::reconfigureAllLoggers(conf);
}
int main()
{
InitEasyloggingPP();
LOG(INFO) << "Hello World";
}
Si está interesado, puede visitar mi sitio web personal: https://www.stubbornhuang.com/