ydf0509 / nb_log

pip install nb_log 各种日志handler和自动转化项目的任意print的效果。日志自动彩色炫酷,可点击控制台的日志自动精确跳转到pycharm的文件和行号。文件日志多进程切割安全。在10个最重要方面全方位超过loguru
378 stars 72 forks source link

配置文件放置位置修改 #9

Closed CNDrwei closed 2 years ago

CNDrwei commented 2 years ago

这个目前配置文件默认放置在项目根目录, 请问是否可以自定义配置,nb_log_config的位置

ydf0509 commented 2 years ago

位置就是生成在当前项目的根目录,位置是固定的。生成的配置文件里面的配置的值可以随意修改,如果日志配置不能随意修改,那我就不会去生成这个文件了。

你想自定义nb_log_config.py的位置,这个是什么原因,有什么需求,为什么要这样?

CNDrwei commented 2 years ago

配置文件统一位置管理吧, 我看到的是copy到根目录里, 写死的, 希望可以改一下

ydf0509 commented 2 years ago

配置文件的内容变量值当然可以自由随意修改。但是你貌似说的是nb_log_config.py本身的位置吧?我不清楚你是要修改配置文件中的各个变量的值,还是想指定nb_log_config.py的生成位置?如果是想修改位置,那就很麻烦的,连配置文件都不存在了,怎么指定配置文件的生成位置呢?除非是python xx.py --nb_log_config_path=/yourpath,这样多此一举,每次启动项目多敲一些传参,增加使用负担。

ydf0509 commented 2 years ago

自动生成在当前项目根目录下是最好的方式。你可以看看django scrapy 配置文件的位置都是固定的,然后框架也支持临时环境变量设置配置模块的位置,但99%的人还是没有使用到使用环境变量来指定配置模块的位置,说明固定位置还是最方便的。

CNDrwei commented 2 years ago

类似于日志文件的放置位置, 可以在初始化的时候指定nb_log_config.py配置生成的位置, 如果不设置可以放默认根目录, 项目中配置文件还是挺多的, 统一放于config确实有助于管理配置, 项目根目录一般只放启动main.py和.gitignore, 其他基本都是包, 或者目录, 很少出现单个文件形式

CNDrwei commented 2 years ago

分开之后运行项目, 通过python main.py test_mode=sass , 这样就能在代码里读取不同的配置, 正常sass和k8s的环境变量有些差别, 在日志配置里也可以有些差别, 比如sass需要保存更多的天数

ydf0509 commented 2 years ago

我想了下,目前的代码是支持自定义配置文件的位置的。例如你的项目路径是 /myproj,使用nb_log原来是要求先export PYTHONPATH=/myproj ,然后python xx.py启动项目,如果你想把配置文件设置为你自己制定的目录下,例如 /my_config_dir, 那么可以设置 export PYTHONPATH=/my_config_dir:/myproj,然后再python xx.py启动项目。因为nb_log是读取最优先的位置的配置,如果你的/my_config_dir下面已近存在了 nb_log_config.py文件,那么就不会再在项目根目录下创建配置文件了,会直接读取已存在的文件作为配置文件。关于linux 使用export 设置临时会话窗口的环境变量export 命令用法不需要我详细讲吧。