同一项目有多个节点,用Grafana把不同节点日志采集放到同一目录下,防止项目名称一样生成的日志名称也一样,导致生成的日志被覆盖,故在日志名称上加上IP区分。
1:继承PropertyDefinerBase类,重写getPropertyValue()
/**
* @author tjq
* description
* date 2022-5-5
*/
import ch.qos.logback.core.PropertyDefinerBase;
import java.net.InetAddress;
import java.net.UnknownHostException;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class LogIpConfig extends PropertyDefinerBase {
@Override
public String getPropertyValue() {
String ip = null;
try {
ip= InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
log.error("获取IP失败", e);
}
return ip;
}
}
2:在logback.xml配置define
<define name="ip" class="org.hgys.ledgerplatform.utils.LogIpConfig"/>
如图所示:
最后在想要打印的地方加上${ip}
如图:
|