Get Rid of Java Static Loggers
xxxxxxxxxx
import com.jcabi.log.Logger;
public class Foo {
public void save(String file) {
// save the file
Logger.info(this, "file %s saved successfuly", file);
}
}
To make life easier, I created a library about two years ago, jcabi-log, which has a convenient utility class Logger (yes, I know that utility classes are evil).
xxxxxxxxxx
formatter = logging.Formatter('[%(asctime)s] p%(process)s {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s','%m-%d %H:%M:%S')
xxxxxxxxxx
import logging
def get_logger(log_file_name, log_sub_dir=""):
""" Creates a Log File and returns Logger object """
# Build Log File Full Path
logPath = log_file_name if os.path.exists(log_file_name) else os.path.join(log_dir, (str(log_file_name) + '.log'))
# Create logger object and set the format for logging and other attributes
logger = logging.Logger(log_file_name)
# Return logger object
return logger
xxxxxxxxxx
[loggers]
keys=root
[handlers]
keys=console, file
[formatters]
keys=std_out
[logger_root]
handlers = console, file
level = DEBUG
[handler_console]
class = logging.StreamHandler
level = DEBUG
formatter = std_out
[handler_file]
class = logging.FileHandler
kwargs = {"filename": "all_messages_conf.log"}
level = INFO
formatter = std_out
[formatter_std_out]
format = %(levelname)s : %(name)s : %(module)s : %(funcName)s : %(message)s