log4j如何动态改变存放路径

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了log4j如何动态改变存放路径相关的知识,希望对你有一定的参考价值。

java中如何使日志存放在用户所要存放的地方,解决以下不再.properties文件中存放绝对路径,而如何使这个路径变成用户想要的路径,还有,如何动态改变日志的名称,请高手帮忙解决一下,谢谢了。
还有如何把我所要写的写在指定路径的日志里,且.properties中不生成。也就是说,我现在只想生成一个日志文件,且这个日志文件是我自己指定路径的。

//下面的可以满足你的要求了,没有配置文件,自己设定文件
FileAppender file = new FileAppender();
file.setName("A1");
file.setLayout(new PatternLayout());
file.setFile("c:/log.txt");
file.activateOptions();
LogManager.getRootLogger().addAppender(file);
Log log = LogFactory.getLog(Test.class);
log.info("测试");
参考技术A 打的士啊!

Unity动态创建FBX模型配置文件的存放路径

创建前目录结构:

创建后的目录结构:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System.IO;
using System.Text;

public class BuildTool
{
    [MenuItem("BuildTool/RefreshCloth/RefreshSelectClothConfig")]
    static void RefreshSelectCloth()
    {
        string configRootPath = "Assets/AssetData/ClothConfig";
        foreach (UnityEngine.Object o in Selection.GetFiltered(typeof(GameObject), SelectionMode.DeepAssets))
        {
            //Assets/FBX/Character/Models/g_Cloth_50133/g_Cloth_50133.FBX
            string clothPath = AssetDatabase.GetAssetPath(o);

            //获得模型配置的名字,例子中即: g_Cloth_50133
            int subStart = clothPath.LastIndexOf(\'/\') + 1;
            int subLenth = clothPath.LastIndexOf(\'.\') - subStart;
            string clothConfigName = clothPath.Substring(subStart, subLenth);

            //获得模型配置的存放路径,例子中即: Assets/ZLgsTest/ClothConfig/g_Cloth_50133
            //注意是存放路径,而不是文件
            string clothConfigPath = configRootPath + "/" + clothConfigName;

            //如果以上路径不存在,则去创建一个
            if (!Directory.Exists(clothConfigPath))
                Directory.CreateDirectory(clothConfigPath);
        }

        AssetDatabase.Refresh();
    }
}

需要注意的是,在创建之前一定要先选中一个 模型资源!!!

以上是关于log4j如何动态改变存放路径的主要内容,如果未能解决你的问题,请参考以下文章

如何在log4j2.xml中动态设置日志文件路径

动态改变 log4j 日志级别

log4j范例,动态切换日志位置

vue中怎么动态添加img的路径

Unity动态创建FBX模型配置文件的存放路径

winform展示Unity3D文件(支持动态改变文件路径)