Java 如何更改外部jar中类的调试级别
我需要更改外部jar文件中的类的日志记录级别。在jar中的那个类中,代码如下所示。实际上,我需要做的只是更改日志记录级别Java 如何更改外部jar中类的调试级别,java,logging,log4j,Java,Logging,Log4j,我需要更改外部jar文件中的类的日志记录级别。在jar中的那个类中,代码如下所示。实际上,我需要做的只是更改日志记录级别 if(logger.isDebugEnabled()) { ... } 所以我想将日志记录级别更改为debug,如何对jar文件类执行此操作?使用下面的方法检查应用程序是否包含debug true/false private static final X500Principal DEBUG_DN = new X500Principal("CN=Android
if(logger.isDebugEnabled()) {
...
}
所以我想将日志记录级别更改为debug,如何对jar文件类执行此操作?使用下面的方法检查应用程序是否包含debug true/false
private static final X500Principal DEBUG_DN = new X500Principal("CN=Android Debug,O=Android,C=US");
private boolean isDebuggable(Context ctx)
{
boolean debuggable = false;
try
{
PackageInfo pinfo = ctx.getPackageManager().getPackageInfo(ctx.getPackageName(),PackageManager.GET_SIGNATURES);
Signature signatures[] = pinfo.signatures;
CertificateFactory cf = CertificateFactory.getInstance("X.509");
for ( int i = 0; i < signatures.length;i++)
{
ByteArrayInputStream stream = new ByteArrayInputStream(signatures[i].toByteArray());
X509Certificate cert = (X509Certificate) cf.generateCertificate(stream);
debuggable = cert.getSubjectX500Principal().equals(DEBUG_DN);
if (debuggable)
break;
}
}
catch (NameNotFoundException e)
{
//debuggable variable will remain false
}
catch (CertificateException e)
{
//debuggable variable will remain false
}
return debuggable;
}
private static final X500Principal DEBUG_DN=new X500Principal(“CN=Android DEBUG,O=Android,C=US”);
专用布尔值isDebuggable(上下文ctx)
{
布尔可调试=假;
尝试
{
PackageInfo pinfo=ctx.getPackageManager().getPackageInfo(ctx.getPackageName(),PackageManager.GET_签名);
签名[]=pinfo.signatures;
CertificateFactory cf=CertificateFactory.getInstance(“X.509”);
对于(int i=0;i
使用下面的方法检查应用程序是否包含debug true/false
private static final X500Principal DEBUG_DN = new X500Principal("CN=Android Debug,O=Android,C=US");
private boolean isDebuggable(Context ctx)
{
boolean debuggable = false;
try
{
PackageInfo pinfo = ctx.getPackageManager().getPackageInfo(ctx.getPackageName(),PackageManager.GET_SIGNATURES);
Signature signatures[] = pinfo.signatures;
CertificateFactory cf = CertificateFactory.getInstance("X.509");
for ( int i = 0; i < signatures.length;i++)
{
ByteArrayInputStream stream = new ByteArrayInputStream(signatures[i].toByteArray());
X509Certificate cert = (X509Certificate) cf.generateCertificate(stream);
debuggable = cert.getSubjectX500Principal().equals(DEBUG_DN);
if (debuggable)
break;
}
}
catch (NameNotFoundException e)
{
//debuggable variable will remain false
}
catch (CertificateException e)
{
//debuggable variable will remain false
}
return debuggable;
}
private static final X500Principal DEBUG_DN=new X500Principal(“CN=Android DEBUG,O=Android,C=US”);
专用布尔值isDebuggable(上下文ctx)
{
布尔可调试=假;
尝试
{
PackageInfo pinfo=ctx.getPackageManager().getPackageInfo(ctx.getPackageName(),PackageManager.GET_签名);
签名[]=pinfo.signatures;
CertificateFactory cf=CertificateFactory.getInstance(“X.509”);
对于(int i=0;i