作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我运行下面的代码
public class NetworkTester {
public static void main( String[] args ) {
System.setProperty( "java.net.preferIPv6Addresses", "true" );
System.setProperty( "java.net.preferIPv4Stack", "false" );
try {
InetAddress addr = InetAddress.getByName( "www.google.com" );
System.out.println( addr );
if ( addr instanceof Inet4Address ) {
System.out.println( 4 );
}
if ( addr instanceof Inet6Address ) {
System.out.println( 6 );
}
} catch ( UnknownHostException e ) {
e.printStackTrace();
}
}}
我得到以下输出
www.google.com/2607:f8b0:4009:801:0:0:0:2004
6
但是如果我添加行
private static Logger log4j = LogManager.getLogger();
然后我导入以下内容
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
我明白了
www.google.com/4.59.40.94
4
我正在使用 log4j2 2.6.2 和 jdk1.8.0_51。如果我使用 -Djava.net.preferIPv6Addresses=true
作为 vm 参数,我会得到一个 IPv6 地址。但是我正在开发的应用程序是作为可执行 jar 文件运行的,我无法找到一种方法让可执行 jar 运行 vm 参数而不编写 bat 文件或某种脚本。我怎样才能让我的应用程序更喜欢 ipv6 并运行 log4j?
最佳答案
您是否尝试过在初始化静态 Logger 字段之前向设置属性的主类添加静态初始化程序 block ?
static {
System.setProperty("java.net.preferIPv6Addresses", "true");
}
关于java - Log4j2 导致 PreferIP6 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39108836/
我是一名优秀的程序员,十分优秀!