log4j的使用以及普通配置文件的讀取

一、添加log4j的依賴

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

二、讀取配置文件

PropertyConfigurator.configure("conf/log4j.properties");

說明:log4j的配置文件放在項目根目錄下的conf文件夾下。打成jar包的時候,是不會包含到jar包裏面的。放到linux系統上的話,要在jar包的同級目錄下,新建conf文件夾,再將log4j.properties配置文件上傳。其他的配置文件同理。

三、使用Logger打印日誌

private static Logger logger = Logger.getLogger(YourClass.class);

logger.info("需要打印的日誌信息");

四、log4j配置文件(僅供參考)

#log4j.rootLogger=INFO, CONSOLE,LOCALFILE
log4j.rootLogger=INFO,CONSOLE,LOCALFILE
#log4j.logger.CONSOLE.testlog4j.App = DEBUG,test3

# A1 is set to be a ConsoleAppender which outputs to System.out. 
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

# The conversion pattern uses format specifiers. You might want to
# change the pattern an watch the output format change.
log4j.appender.CONSOLE.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%t] %1c %3x - %m%n

# A1 is set to be a ConsoleAppender which outputs to System.out. 
log4j.appender.LOCALFILE=org.apache.log4j.DailyRollingFileAppender

# A1 uses PatternLayout.
log4j.appender.LOCALFILE.layout=org.apache.log4j.PatternLayout

# The conversion pattern uses format specifiers. You might want to
# change the pattern an watch the output format change.
log4j.appender.LOCALFILE.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%t] %1c %3x - %m%n

log4j.appender.LOCALFILE.File=target/audit

log4j.appender.LOCALFILE.DatePattern='.'yyyy-MM-dd'.log' 
 

 五、普通配置文件的讀取(config.properties)

public static String getConfigValue(String key) {
		Properties property = new Properties();
		InputStream inputStream = null;
		InputStreamReader reader = null;
		try {
			inputStream = new FileInputStream("./conf/config.properties");
			reader = new InputStreamReader(inputStream, "utf-8");
		} catch (Exception e) {
			inputStream = PropertiesUtilLocal.class.getClassLoader().getResourceAsStream("config.properties");
			if (inputStream != null) {
				try {
					reader = new InputStreamReader(inputStream, "utf-8");
				} catch (UnsupportedEncodingException e1) {
					logger.error("new InputStreamReader(inputStream,'utf-8') fail" + e.getLocalizedMessage());
				}
			}
			if (inputStream == null) {
				return null;
			}
		}
		try {
			property.load(reader);
			return property.getProperty(key);
		} catch (IOException e) {
			logger.error(e.getLocalizedMessage());
			return null;
		} finally {
			try {
				inputStream.close();
			} catch (IOException e1) {
				logger.error(e1.getLocalizedMessage());
			}
		}
	}

覺得有用的贊一下唄!

發佈了86 篇原創文章 · 獲贊 144 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章