package com.vci.client.common;
|
|
import java.io.File;
|
import java.io.FileInputStream;
|
import java.net.URL;
|
|
|
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.core.config.ConfigurationSource;
|
import org.apache.logging.log4j.core.config.Configurator;
|
|
|
/**
|
* <p>Title: </p>
|
* <p>Description: use log4j to note some meaningful info.
|
* the info has four kinds: INFO, DEBUG, WARN and ERROR.
|
* it display log infos in console and save them into a
|
* log file. Programeers can lookup useful info from them.
|
* And programeers can set the level in
|
* properties/ClientWithLog4j.properties to decide which info
|
* they want to save.</p>
|
*/
|
public class ClientLog4j {
|
private static String log4j_properties_dev = "properties/ClientLog4j2.xml";
|
private static String log4j_properties = "/" + log4j_properties_dev;
|
private static URL log4j_properties_url = null;
|
|
|
public static Logger logger = null;//LogManager.getLogger("ServerLog");
|
|
static {
|
try {
|
File file = new File(log4j_properties_dev);
|
String loadFrom = "";
|
|
if(file.exists()){
|
loadFrom = file.getAbsolutePath();
|
} else {
|
log4j_properties_url = ClientLog4j.class.getResource(log4j_properties);
|
loadFrom = log4j_properties_url.toString();
|
}
|
|
ConfigurationSource source = new ConfigurationSource(new FileInputStream(loadFrom));
|
Configurator.initialize(null, source);
|
|
logger = LogManager.getLogger("ClientLog");
|
|
logger.debug("log4j init completed. use properties file is " + loadFrom);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
}
|