
Rajpal Dangi wrote:
While using rotating text file as stream, is it possible to keep most recent log file name same all the time? Currently what I observe is 'N' keeps incrementing and have to manually find out the most recent file.
No, the stream always generates a new file name on rotation and uses it to write the log to. Therefore, the mos recent log file is the one with the last counter value. The rationale for such behavior is that there are considerably more possibilities for the rotation to fail, if done as you suggest. It is possible that the current log file gets locked by another process, in which case it is not clear where to write logs to. Also, if keeping the current log file name the same, it would be necessary to provide at least two file name templates to the stream: one for the current file name and another to form up the rotated file names. This would complicate the stream usage.
Also, is there some way to print severity in log file without explicitly passing it as part of message i.e. BOOST_LOG_SEV(my_logger, CRITICAL)
Yes, you can provide the default severity level to the logger constructor. Having done that, all log records that are written through this logger without an explicit severity level specification will have the default level. For example: severity_logger my_crit_logger(keywords::severity = CRITICAL); BOOST_LOG(my_crit_logger) << "The record is CRITICAL by default"; BOOST_LOG_SEV(my_crit_logger, NORMAL) << "This record is explicitly marked as to NORMAL";