sofastack / sofa-common-tools

sofa-common-tools is a library that provide some utility functions to other SOFA libraries.
Apache License 2.0
177 stars 93 forks source link

SpaceId设置和API动态配置日志级别的问题 #18

Closed KevinHe666 closed 6 years ago

KevinHe666 commented 6 years ago

您好,如下代码,然后两个问题是 SpaceId这个设置之后是和配置文件相对应的么,可以再加SpaceId怎么设置,这个场景是,那个动态日志级别是否是我代码中那个意思呢,感谢并期待您的回复 `/**

KevinHe666 commented 6 years ago

@guanchao-yang

guanchao-yang commented 6 years ago

@KevinHe666

1) SpaceId这个设置之后是和配置文件相对应的么?

答:是的。SpaceId 的 name 是和配置文件路径一一对应的,参考文档 。如果,你的 SpaceId 是 com.alipay.sofa.app,那么对应的配置文件路径应该是:

└── com
    └── alipay
        └── sofa
            └── app
                └── log
                    ├── log4j
                    │   └── log-conf.xml
                    ├── log4j2
                    │   └── log-conf.xml
                    └──  logback
                        └── log-conf.xml

@KevinHe666 对了,建议你的 SpaceId 取得名字是自己应用实际的含义,一是避免和其他人的冲突,二是也有一定的业务含义。

2) 是这个意思。但是,代码可以再优雅下哈,只在需要改变级别的地方去调用这个方法改线级别并获取实例即可。在正常不需要获取级别的时候,直接通过此方法获取实例即可:

public static Logger getLoggerBySpace(String name, SpaceId spaceId)

这样,可以避免每次都相应日志实现界别修改的性能损耗。

KevinHe666 commented 6 years ago

@guanchao-yang 😆十分感谢您的耐心解答,使用中有不懂的地方还望您指点

guanchao-yang commented 6 years ago

@KevinHe666 有问题,随时沟通哈,互相学习