package com.fr.plugin.db.procedure; import com.fr.config.Configuration; import com.fr.config.holder.ConfigChangeListener; import com.fr.config.holder.ValidateConfigManger; import com.fr.general.FRLogger; import com.fr.general.log.Log4jConfig; import com.fr.general.log.MessageFormatter; import com.fr.log.AbstractFineLoggerProvider; import com.fr.log.LogHandler; import com.fr.third.apache.log4j.Appender; import com.fr.third.apache.log4j.Level; import com.fr.third.apache.log4j.Logger; import com.fr.third.apache.log4j.PropertyConfigurator; import com.fr.web.session.SessionLocalManager; import java.util.logging.Handler; public class MyFineLoggerProvider extends AbstractFineLoggerProvider { private static final MyFineLoggerProvider FINE_LOGGER = new MyFineLoggerProvider(); private Logger logger; public static MyFineLoggerProvider getLogger() { return FINE_LOGGER; } private MyFineLoggerProvider() { this.listenConfig(); this.refresh(); } private void listenConfig() { ValidateConfigManger.getInstance().registerListener(new ConfigChangeListener() { public boolean accept(Class var1) { return var1.equals(Log4jConfig.class); } public void change() { PropertyConfigurator.configure(Log4jConfig.getUserConfig()); } }); } public void refresh() { this.logger = Logger.getLogger("standard"); } public void addLogHandler(Handler var1) { } public void addLogAppender(LogHandler var1) { this.logger.addAppender((Appender)var1.getHandler()); } public void removeLogAppender(LogHandler var1) { this.logger.removeAppender((Appender)var1.getHandler()); } public void close() { this.logger = null; } public void sql(String var1) { SessionLocalManager.logSql(var1); this.info("[SQL]" + var1); } public boolean isDebugEnabled() { return this.logger != null && this.logger.isDebugEnabled(); } public void debug(String var1) { if (this.logger.isDebugEnabled()) { this.logger.log(Level.DEBUG, var1); } } public void debug(String var1, Object... var2) { if (this.logger.isDebugEnabled()) { MessageFormatter.FormattingTuple var3 = MessageFormatter.arrayFormat(var1, var2); this.logger.log(Level.DEBUG, var3.getMessage()); } } public void debug(String var1, Throwable var2) { if (this.logger.isDebugEnabled()) { this.logger.log(Level.DEBUG, var1, var2); } } public boolean isInfoEnabled() { return this.logger != null && this.logger.isInfoEnabled(); } public void info(String var1) { if (this.logger.isInfoEnabled()) { this.logger.log(Level.INFO, var1); } } public void info(String var1, Object... var2) { if (this.logger.isInfoEnabled()) { MessageFormatter.FormattingTuple var3 = MessageFormatter.arrayFormat(var1, var2); this.logger.log(Level.INFO, var3.getMessage()); } } public void warn(String var1) { this.logger.warn(var1); } public void warn(String var1, Object... var2) { if (this.logger.isEnabledFor(Level.WARN)) { MessageFormatter.FormattingTuple var3 = MessageFormatter.arrayFormat(var1, var2); this.logger.warn(var3.getMessage()); } } public void warn(String var1, Throwable var2) { this.logger.warn(var1, var2); } public void warn(Throwable var1, String var2, Object... var3) { if (this.logger.isEnabledFor(Level.WARN)) { MessageFormatter.FormattingTuple var4 = MessageFormatter.arrayFormat(var2, var3); this.logger.warn(var4.getMessage(), var1); } } public void error(String var1) { this.logger.error(var1); } public void error(String var1, Object... var2) { if (this.logger.isEnabledFor(Level.ERROR)) { MessageFormatter.FormattingTuple var3 = MessageFormatter.arrayFormat(var1, var2); this.logger.error(var3.getMessage()); } } public void error(String var1, Throwable var2) { this.logger.error(var1, var2); } public void error(Throwable var1, String var2, Object... var3) { if (this.logger.isEnabledFor(Level.ERROR)) { MessageFormatter.FormattingTuple var4 = MessageFormatter.arrayFormat(var2, var3); this.logger.error(var4.getMessage(), var1); } } public void declareSQLEnd(String var1) { } public void releaseSession() { SessionLocalManager.releaseSession(); } }