/* LogConfigurer.java
Purpose:
Description:
History:
Fri Dec 16 23:14:07 TST 2011, Created by tomyeh
Copyright (C) 2011 Potix Corporation. All Rights Reserved.
*/
package org.zkoss.zk.ui.http;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Properties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.zkoss.lang.Library;
import org.zkoss.mesg.MCommon;
import org.zkoss.mesg.Messages;
/**
* Utilities for configure the log.
* @author tomyeh
* @since 6.0.0
* @deprecated As of release 7.0.0, use SLF4J API for logging instead.
*/
/*package*/ class LogConfigurer {
private static final Logger log = LoggerFactory.getLogger(LogConfigurer.class);
/*package*/ static void configure() {
final String LIBPROP = "org.zkoss.util.logging.config.file";
final String path = Library.getProperty(LIBPROP);
if (path == null || path.length() == 0)
return;
InputStream is = LogConfigurer.class.getResourceAsStream(path);
try {
if (is == null) {
File file = new File(path);
if (!file.isAbsolute())
file = new File(System.getProperty("user.dir", "."), path);
if (file.exists())
try {
is = new FileInputStream(file);
} catch (java.io.FileNotFoundException ex) {
//silent
}
if (is == null) {
log.error(Messages.get(MCommon.FILE_NOT_FOUND, path));
return;
}
}
log.info(Messages.get(MCommon.FILE_OPENING, path));
final Properties props = new Properties();
props.load(is);
org.zkoss.util.logging.Log.configure(props);
} catch (Throwable ex) {
log.error("Failed to load " + path, ex);
} finally {
if (is != null)
try {
is.close();
} catch (Throwable ex) {
}
}
}
}