Tôi muốn đăng nhập vào các tệp khác nhau trong mã của mình.Đăng nhập vào tệp khác với log4cxx
Làm thế nào tôi có thể làm điều đó trong Log4cxx với cấu hình xml hoặc programatically trong mã ...
- Giả sử rằng tôi có 1.k, k + 1, .. n thành phần.
- Họ chạy trong cùng một ứng dụng
- Tôi muốn thành phần k log để Logger-k, k + 1 phần log để Logger-k + 1 đồng thời
Cập nhật:
Logger.addAppender() phương pháp:
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);
}
này không làm việc vì
Giả sử rằng tôi đặt FileName thành Logger-k cho thành phần k, nó ghi vào Logger-k, sau đó tôi đặt tên tệp thành Logger-k + 1 cho compoent k + 1, sau đó cả hai thành phần k, và k + 1 đăng nhập cùng một tệp loggerk + 1. Có vẻ như ghi đè tên file cuối cùng hoặc ảnh hưởng tất cả những người khác ...
Và
Tất cả compoenent compenent 1, ... compoeent k, componentk + 1, .... thành phần n trong cùng một ứng dụng ...
Nó không hoạt động ... Tôi đặt một cập nhật về câu hỏi của tôi ... Tôi có thể làm điều gì đó sai ... Vì vậy, tôi đặt một số mã ... – Novalis
bạn đang cố gắng đặt lại tệp nhật ký cấp gốc tên và do đó mọi thứ đều ghi lại. Bạn cần thêm một FileAppender riêng biệt cho mỗi thành phần để đăng nhập vào tệp được chỉ định. – diverscuba23
Có thể cung cấp mã mẫu ... Cách nhận FileAppender riêng biệt? – Novalis