// System.setErr(new PrintStream(new File("log.txt"))); // System.err.println(" 1"); System.err.println(" 2"); // try { throw new Exception(" "); } catch (Exception e) { e.printStackTrace(); }
Logger log = Logger.getLogger(LoggingJul.class.getName());
// String stringMessage = ""; // String stringMessageFormat =" {0}"; // Throwable throwable = new Throwable(); // ResourceBundle ResourceBundle resourceBundle = ResourceBundle.getBundle("logging.jul.bundle"); // Supplier<String> stringMessageSupplier = ()->"";
log.info(stringMessage); log.info(stringMessageSupplier);
// log.log(new LogRecord(Level.INFO, stringMessage)); log.log(Level.INFO, stringMessage); log.log(Level.INFO, stringMessageSupplier); log.log(Level.INFO, stringMessageFormat, args); log.log(Level.INFO, stringMessage, throwable ); log.log(Level.INFO, throwable, stringMessageSupplier); // , log.logp(Level.INFO, "ClassName", "MethodName", stringMessage); log.logp(Level.INFO, "ClassName", "MethodName", stringMessageSupplier); log.logp(Level.INFO, "ClassName", "MethodName", stringMessageFormat, args); log.logp(Level.INFO, "ClassName", "MethodName", stringMessage, throwable); log.logp(Level.INFO, "ClassName", "MethodName", throwable, stringMessageSupplier); // , , // resourceBundle, log.logrb(Level.INFO, "ClassName", "MethodName", resourceBundle, "messageId"); log.logrb(Level.INFO, "ClassName", "MethodName", resourceBundle, "messageId", throwable); // log.throwing("ClassName","MethodName", throwable);
# handlers =java.util.logging. FileHandler .level=ALL # java.util.logging.FileHandler.level =ALL java.util.logging.FileHandler.formatter =java.util.logging.SimpleFormatter java.util.logging.FileHandler.limit = 1000000 java.util.logging.FileHandler.pattern = log.txt # java.util.logging.ConsoleHandler.level = ALL java.util.logging.ConsoleHandler.pattern = log.log java.util.logging.ConsoleHandler.formatter =java.util.logging.SimpleFormatter
LogManager.getLogManager().readConfiguration(< >.class.getResourceAsStream("logging.properties"));
Logger log = LogManager.getLogger(LoggingLog4j.class); // Logger log = LogManager.getLogger(“name”);
// ( msg1=" 1” msg2=" 2”) MapMessage mapMessage = new MapMessage(); mapMessage.put("msg1", " 1"); mapMessage.put("msg2", " 2"); // , Marker marker = MarkerManager.getMarker("fileonly"); // String stringMessage = ""; // String stringMessageFormat = " {}, {}"; // Throwable throwable = new Throwable(); // Object object = new Object();
log.info(mapMessage); log.info(object); log.info(stringMessage); log.info(marker, mapMessage); log.info(marker, object); log.info(marker, stringMessage); log.info(object, throwable); log.info(stringMessage, throwable); log.info(stringMessageFormat, args); log.info(marker, mapMessage, throwable); log.info(marker, object, throwable); log.info(marker, stringMessageFormat, args); log.info(marker, stringMessage, throwable); log.throwing(throwable);
log.log(Level.INFO, mapMessage); log.log(Level.INFO, object); log.log(Level.INFO, stringMessage); log.log(Level.INFO, marker, mapMessage); log.log(Level.INFO, marker, object); log.log(Level.INFO, marker, stringMessage); log.log(Level.INFO, object, throwable); log.log(Level.INFO, stringMessageFormat, args); log.log(Level.INFO, stringMessage, throwable); log.log(Level.INFO, marker, mapMessage, throwable); log.log(Level.INFO, marker, object, throwable); log.log(Level.INFO, marker, stringMessageFormat, args); log.log(Level.INFO, marker, stringMessage, throwable); log.throwing(Level.INFO, throwable);
<?xml version="1.0" encoding="UTF-8"?> <Configuration> <!-- --> <Appenders> <!-- --> <File name="file" fileName="log.log"> <PatternLayout> <Pattern>%d %p %c{1.} [%t] %m %ex%n</Pattern> </PatternLayout> </File> <!-- --> <File name="file2" fileName="log2.log"> <!-- --> <MarkerFilter marker="fileonly" onMatch="DENY" onMismatch="ACCEPT"/> <PatternLayout> <Pattern>%d %p %c{1.} [%t] %m %ex%n</Pattern> </PatternLayout> </File> </Appenders> <!-- --> <Loggers> <!-- --> <Root level="trace"> <AppenderRef ref="file" level="DEBUG"/> </Root> <!-- --> <Logger name="logging.log4j.LoggingLog4j" level="info" additivity="false"> <AppenderRef ref="file2" level="INFO"/> </Logger> </Loggers> </Configuration>
fatal = Level.SEVERE error = Level.SEVERE warn = Level.WARNING info = Level.INFO debug = Level.FINE trace = Level.FINEST
Log log = LogFactory.getLog(LoggingCl.class); // Log log = LogFactory.getLog("name");
Object object = ""; Throwable throwable = new Throwable(); log.info(object); log.info(object, throwable);
#Log4j org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger log4j.configuration=log4j.properties #JUL org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler .level=INFO java.util.logging.FileHandler.pattern=jul.log java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter java.util.logging.FileHandler.limit=50000 java.util.logging.FileHandler.count=1 #SimpleLog org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog org.apache.commons.logging.simplelog.defaultlog=fatal org.apache.commons.logging.simplelog.showlogname=true org.apache.commons.logging.simplelog.showShortLogname=true org.apache.commons.logging.simplelog.showdatetime=true
java -Djava.util.logging.config.file=/absolute/path/to/your/config/file/commons-logging.properties -jar /absolute/path/to/your/jar/file/MyClass.jar
org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggingLogback.class); // org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger("name");
// String stringMessage = ""; // String stringMessageFormat = " {} {}"; // Throwable throwable = new Throwable(); // Marker marker = MarkerFactory.getMarker("marker");
log.info(stringMessage); log.info(stringMessageFormat, args); log.info(stringMessage, throwable); log.info(marker, stringMessage); log.info(marker, stringMessage, throwable); log.info(marker,stringMessageFormat, args);
<?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- --> <!-- --> <appender name="file" class="ch.qos.logback.core.FileAppender"> <file>log.log</file> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</Pattern> </layout> </appender> <!-- --> <appender name="sout" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern> </layout> </appender> <!-- --> <!-- --> <turboFilter class="ch.qos.logback.classic.turbo.MarkerFilter"> <Marker>marker</Marker> <OnMatch>DENY</OnMatch> </turboFilter> <!-- --> <!-- --> <root level="info"> <appender-ref ref="file" /> </root> <!-- --> <logger name="logging.logback.LoggingLogback" level="info" > <appender-ref ref="sout" /> </logger> </configuration>
java.util.logging.Logger julLog = java.util.logging.Logger.getLogger("julLog"); java.util.logging.Logger log4jLog = java.util.logging.Logger.getLogger("log4jLog"); org.slf4j.Logger slf4jLog = org.slf4j.LoggerFactory.getLogger(LoggingSlf4j.class); julLog.info(" jul"); log4jLog.info(" log4j"); slf4jLog.info(" slf4j");
<?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- --> <!-- JUL --> <appender name="jul" class="ch.qos.logback.core.FileAppender"> <file>log_jul.log</file> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</Pattern> </layout> </appender> <!-- log4j --> <appender name="log4j" class="ch.qos.logback.core.FileAppender"> <file>log_log4j.log</file> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</Pattern> </layout> </appender> <!-- --> <appender name="sout" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern> </layout> </appender> <!-- --> <!-- --> <root level="info" > <appender-ref ref="sout" /> </root> <!-- jul --> <logger name="julLog" additivity="false" > <level value="trace" /> <appender-ref ref="jul" /> </logger> <!-- log4j --> <logger name="log4jLog" additivity="false" > <level value="trace" /> <appender-ref ref="log4j" /> </logger> </configuration>
SLF4JBridgeHandler.removeHandlersForRootLogger(); SLF4JBridgeHandler.install();
Source: https://habr.com/ru/post/247647/
All Articles