Deseo iniciar sesión en archivos diferentes en mi código.Inicie sesión en un archivo diferente con log4cxx
¿Cómo puedo hacer que en log4cxx con la configuración XML o mediante programación en código ...
- Supongamos que tengo 1.k, k + 1, .. n componentes.
- Se ejecutan en la misma aplicación
- Quiero log k componente al registrador-k, log k + componente 1 al registrador-k + 1 al mismo tiempo
Actualización:
Logger.addAppender() enfoque:
log4cxx::helpers::Pool p;
std::string paramAppender = "appxNormalAppender";
std::string paramFileName = "\\Logs\\MyLog.txt";
LOG4CXX_DECODE_CHAR(logAppender, paramAppender);
LOG4CXX_DECODE_CHAR(logFileName, paramFileName);
FileAppenderPtr fileAppender =
logger->getLoggerRepository()->getRootLogger()->getAppender(logAppender);
if(fileAppender!= NULL)
{
fileAppender->setFile(logFileName);
fileAppender->activateOptions(p);
}
Esto no funciona porque
Supongamos que configuro FileName en Logger-k para el componente k, se registra en Logger-k, luego configuro el nombre de archivo en Logger-k + 1 para compoent k + 1, luego ambos componentes k, y k + 1 registra el mismo loggerk + 1 archivo. Parece anulaciones de último nombre de archivo o efectos todos los otros ...
Y
Todo compenent compoenent 1, ... k compoeent, componentk + 1, .... componentes N están en la misma aplicación ...
No funciona ... Puse una actualización sobre mi pregunta ... ¿Puedo hacer algo mal ... Así que puse un código ... – Novalis
está intentando restablecer el archivo del registrador de nivel raíz nombre y por lo tanto, donde todo se registra. Debe agregar un FileAppender separado a cada componente para iniciar sesión en el archivo especificado. – diverscuba23
Puede dar un código de muestra ... ¿Cómo separar FileAppender? – Novalis