• 代码修改配置文件的参数值


    /**
    * IPMTPP Config.java
    * 2013-5-29
    */
    package cn.ipanel.msg.util.common;

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.net.URL;
    import java.util.Enumeration;
    import java.util.Properties;

    import com.ipanel.webapp.framework.util.Log;

    public class Log4jConfig {

    final static String CONFIG_FILE = "log4j.properties";
    private static final String TAG = "Log4jConfig";
    static Properties props = new Properties();
    static URL url=null;
    static {

    url = Log4jConfig.class.getClassLoader().getResource(CONFIG_FILE);


    }

    public synchronized static String getConfig(String name, String defaultValue) {
    try {
    props.load(new FileInputStream(new File(url.getFile())));
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return props.getProperty(name, defaultValue);
    }

    public synchronized static String getConfig(String name) {
    return getConfig(name, null);
    }

    public static String getRootLogger() {
    return getConfig("log4j.rootLogger");
    }

    public static void setRootLogger(String type) throws Exception {
    StringBuffer buffer = new StringBuffer();

    props.load(new FileInputStream(new File(url.getFile())));
    Enumeration en = props.propertyNames(); // 得到配置文件的名字
    while (en.hasMoreElements()) {
    String strKey = (String) en.nextElement();
    String strValue = props.getProperty(strKey);
    Log.i(TAG, strKey + "=" + strValue);
    if ("log4j.rootLogger".equals(strKey)) {

    buffer.append("log4j.rootLogger").append("=").append((type))
    .append(" ");
    } else {
    buffer.append(strKey).append("=").append(strValue).append(" ");
    ;
    }

    }

    FileOutputStream fout = null;
    try {

    fout = new FileOutputStream(new File(url.getFile()));
    fout.write(buffer.toString().getBytes());
    } catch (Exception e) {
    throw e;
    } finally {
    if (fout != null)
    try {
    fout.close();
    fout = null;
    } catch (IOException e) {
    throw e;
    }
    }
    }


    }

  • 相关阅读:
    Java多线程(二) synchronized 针对对象进行锁定
    微信公众号 openId获取
    Java多线程(一) Thread和 Runnable
    设计模式
    vue城市选择组件
    分享几个简单的技巧让你的 vue.js 代码更优雅
    手把手教你vue配置请求本地json数据
    详解vue全局组件与局部组件使用方法
    细说vue axios登录请求拦截器
    在Vue项目中加载krpano全景图
  • 原文地址:https://www.cnblogs.com/Syney/p/7886372.html
Copyright © 2020-2023  润新知