更换日志模块,以适配安卓:由原来使用logback库更改为使用java原生库

This commit is contained in:
free will committed 2021-05-14 15:29:41 +08:00
1 parent 4cc1c88ed2
commit 8729773b8b
23 files changed
+379 -175

No files matched your search

+14
View File
@@ -0,0 +1,14 @@
package common;
/*
* @Author: Wang Feng
* @Description:
* @Version: 1.0.0
* @Date: 10:59 2021/3/24
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class LoggerException extends Exception {
public LoggerException(String msg){
super("Logger-"+msg);
}
}
+132 -3
View File
@@ -1,7 +1,14 @@
package common;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
import util.FileUtil;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.*;
/*
* @Author: Wang Feng
@@ -11,7 +18,129 @@ import org.slf4j.LoggerFactory;
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class LoggerHelper {
public static final Logger logger= LoggerFactory.getLogger("[min-dev-java]");
// 是否打开logger. true: 打开,记录日志;false: 关闭,使用sout输出信息
public static boolean OpenLoggerFlag=false;
// logger标签
private static final String TAG = "min-dev-java";
// logger
private static final Logger logger=Logger.getLogger(TAG);
// 设置logger文件输出路径: ./log/${level}/${data}/${level}-log.log
private static final String LogPath="./log";
private static String getNowLogPath(String level){
// 加入文件名
return getNowLogDir(level)+"/"+level+"-log.log";
}
private static String getNowLogDir(String level){
// log根目录
String nowLogPath=LogPath;
// level
nowLogPath+="/"+level;
// 日期目录
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
nowLogPath+=("/"+sdf.format(new Date()));
return nowLogPath;
}
private static void setLogPath(String level) throws LoggerException {
try {
// 生成日志文件夹及日志文件
String dirPath=getNowLogDir(level);
String filePath=getNowLogPath(level);
FileUtil.confirmDirExistence(dirPath);
FileUtil.confirmFileExistence(filePath);
FileHandler fileHandler=new FileHandler(filePath,true);
logger.addHandler(fileHandler);
}catch (IOException e){
throw new LoggerException("setLogPath error: "+e.getMessage());
}
}
public static void severe(String msg){
logMsg("severe",msg);
}
public static void warning(String msg){
logMsg("warning",msg);
}
public static void info(String msg){
logMsg("info",msg);
}
public static void config(String msg){
logMsg("config",msg);
}
public static void fine(String msg){
logMsg("fine",msg);
}
public static void finer(String msg){
logMsg("finer",msg);
}
public static void finest(String msg){
logMsg("finest",msg);
}
private static void logMsg(String level,String msg){
if(OpenLoggerFlag) {
// 设置日志目录。如果失败,立即切换为关闭日志模式
try {
setLogPath(level);
} catch (LoggerException e) {
System.out.println(e.getMessage());
OpenLoggerFlag = false;
System.out.println("Close logger success.");
logMsg(level,msg);
}
// 根据level不同,记录日志
switch (level){
case "severe":
logger.severe(msg);
break;
case "warning":
logger.warning(msg);
break;
case "info":
logger.info(msg);
break;
case "config":
logger.config(msg);
break;
case "fine":
logger.fine(msg);
break;
case "finer":
logger.finer(msg);
break;
case "finest":
logger.finest(msg);
break;
}
}else{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 只打印信息到控制台
System.out.println(sdf.format(new Date())+" "+level+" "+msg);
}
}
//
// public static void debug(){
// logger.setLevel(Level.SEVERE);
// logger.setLevel(Level.WARNING);
// logger.setLevel(Level.INFO);
// logger.setLevel(Level.CONFIG);
// logger.setLevel(Level.FINE);
// logger.setLevel(Level.FINER);
// logger.setLevel(Level.FINEST);
// }
// public static void main(String[] args){
// logger.setLevel(Level.WARNING);
// }
// public static final Logger logger= LoggerFactory.getLogger("[min-dev-java]");
// 使用示例:
// LoggerHelper.logger.trace("Trace Level.");
// LoggerHelper.logger.debug("Debug Level.");
+8 -8
View File
@@ -85,7 +85,7 @@ public class LogicFaceICN extends LogicFace {
IdentifierWrapper identifierWrapper=interest.minPacket.identifierField.getIdentifier(0);
PITEntry pitEntry=this.getPitEntryAndDelete(identifierWrapper.getIdentifier());
if(pitEntry == null) {
LoggerHelper.logger.info("no match pit entry");
LoggerHelper.info("no match pit entry");
}
OnInterestInterface oI=this.lookUpFib(identifierWrapper.getIdentifier());
if(oI!=null){
@@ -128,7 +128,7 @@ public class LogicFaceICN extends LogicFace {
IdentifierWrapper identifierWrapper=data.minPacket.identifierField.getIdentifier(0);
PITEntry pitEntry = this.getPitEntryAndDelete(identifierWrapper.getIdentifier());
if(pitEntry==null){
LoggerHelper.logger.info("no match pit entry");
LoggerHelper.info("no match pit entry");
return;
}
pitEntry.onDataInterface.onData(pitEntry.interest,data);
@@ -151,7 +151,7 @@ public class LogicFaceICN extends LogicFace {
IdentifierWrapper identifierWrapper=nack.interest.minPacket.identifierField.getIdentifier(0);
PITEntry pitEntry = this.getPitEntryAndDelete(identifierWrapper.getIdentifier());
if(pitEntry==null){
LoggerHelper.logger.info("no match pit entry");
LoggerHelper.info("no match pit entry");
return;
}
pitEntry.onNackInterface.onNack(pitEntry.interest,nack);
@@ -230,12 +230,12 @@ public class LogicFaceICN extends LogicFace {
while (true) {
MINPacket minPacket = this.receivePacket(-1);
if(minPacket==null){
LoggerHelper.logger.debug("LogicFaceICN.doReceivePacket: receivePacket null");
LoggerHelper.info("LogicFaceICN.doReceivePacket: receivePacket null");
return;
}
IdentifierWrapper identifier=minPacket.identifierField.getIdentifier(0);
if(identifier==null){
LoggerHelper.logger.debug("LogicFaceICN.doReceivePacket: minPacket getIdentifier null");
LoggerHelper.info("LogicFaceICN.doReceivePacket: minPacket getIdentifier null");
}
switch (identifier.getTlvType().getVlIntValue2Int()){
case TLV.TlvIdentifierContentInterest:
@@ -341,7 +341,7 @@ public class LogicFaceICN extends LogicFace {
Identifier interestName=interest.getName();
if(interestName==null){
LoggerHelper.logger.debug("LogicFaceICN.expressInterest: minPacket getIdentifier null");
LoggerHelper.info("LogicFaceICN.expressInterest: minPacket getIdentifier null");
return;
}
PITEntry pitEntry = null;
@@ -356,7 +356,7 @@ public class LogicFaceICN extends LogicFace {
}
if(!this.sendInterest(interest)){
LoggerHelper.logger.debug("LogicFaceICN.expressInterest: send Interest false");
LoggerHelper.info("LogicFaceICN.expressInterest: send Interest false");
}
} catch (ComponentException e) {
throw new LogicFaceException("LogicFaceICN.expressInterest: "+e.getMessage());
@@ -376,7 +376,7 @@ public class LogicFaceICN extends LogicFace {
return;
}
if(!this.sendData(data)){
LoggerHelper.logger.debug("LogicFaceICN.putData: send Data false");
LoggerHelper.info("LogicFaceICN.putData: send Data false");
}
}
+2 -2
View File
@@ -33,7 +33,7 @@ public class StreamTransport extends Transport implements ITransport{
try {
this.channel.close();
} catch (IOException e) {
LoggerHelper.logger.debug("StreamTransport.close: "+e.getMessage());
LoggerHelper.info("StreamTransport.close: "+e.getMessage());
}
}
@@ -53,7 +53,7 @@ public class StreamTransport extends Transport implements ITransport{
while (writeLen< encodeBuf.length){
int writeRet=this.channel.write(ByteBuffer.wrap(encodeBuf));
if(writeRet<0){
LoggerHelper.logger.error("send to tcp transport error");
LoggerHelper.severe("send to tcp transport error");
this.linkService.logicFace.shutDown();
return false;
}
+2 -2
View File
@@ -35,12 +35,12 @@ public class Transport {
try {
Block block=new Block(buf,true);
if(!block.isValid()){
LoggerHelper.logger.error("recv packet from face invalid");
LoggerHelper.severe("recv packet from face invalid");
return null;
}
LpPacket lpPacket=new LpPacket();
if(!lpPacket.wireDecode(block)){
LoggerHelper.logger.error("parse to lpPacket error");
LoggerHelper.severe("parse to lpPacket error");
return null;
}
return lpPacket;
+3 -3
View File
@@ -57,7 +57,7 @@ public class UdpTransport extends Transport implements ITransport{
try {
this.channel.close();
} catch (IOException e) {
LoggerHelper.logger.error(e.getMessage());
LoggerHelper.info(e.getMessage());
}
}
@@ -73,7 +73,7 @@ public class UdpTransport extends Transport implements ITransport{
if(encodeBuf.length<=0){
return false;
}
LoggerHelper.logger.debug("start write to udp : "+this.remoteUdpAddr.toString());
LoggerHelper.info("start write to udp : "+this.remoteUdpAddr.toString());
int res=this.channel.write(ByteBuffer.wrap(encodeBuf));
if(res<0){
return false;
@@ -105,7 +105,7 @@ public class UdpTransport extends Transport implements ITransport{
// return null;
// }
// byte[] readBytes= ByteHelper.getLenBytes(bf.array(),0,readLen);
LoggerHelper.logger.debug("recv from udp: "+this.remoteAddr);
LoggerHelper.info("recv from udp: "+this.remoteAddr);
LpPacket lpPacket=this.parseByteArray2LpPacket(readBytes);
if(lpPacket==null){
return null;
@@ -48,7 +48,7 @@ public class UnixStreamTransport extends StreamTransport{
try {
this.channel.close();
} catch (IOException e) {
LoggerHelper.logger.debug(e.getMessage());
LoggerHelper.info(e.getMessage());
}
}
+1 -1
View File
@@ -164,7 +164,7 @@ public class CommandExecutor {
try {
controlResponse = (ControlResponse) JSONHelper.parseJsonToClass(data.payload.getValue(), controlResponse);
} catch (JSONHelperException e) {
LoggerHelper.logger.error("parse mgmt_data fail!the err is: " + e.getMessage());
LoggerHelper.severe("parse mgmt_data fail!the err is: " + e.getMessage());
return null;
}
@@ -2,9 +2,10 @@ package minsecurity.certificate.cert;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import common.LoggerHelper;
import minsecurity.Common;
import minsecurity.crypto.*;
import org.slf4j.LoggerFactory;
//import org.slf4j.LoggerFactory;
import javax.crypto.BadPaddingException;
import javax.crypto.IllegalBlockSizeException;
@@ -24,7 +25,7 @@ import java.util.Base64;
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class CertUtils {
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(CertUtils.class);
// private static final org.slf4j.Logger logger = LoggerFactory.getLogger(CertUtils.class);
public static final int VERSION1 = 1;
/**
@@ -205,7 +206,7 @@ public class CertUtils {
certificate.setSignature(priv.sign(bytesOfCert));
break;
default:
logger.debug("signAlgo: {}", certificate.getSignatureAlgorithm());
LoggerHelper.info("signAlgo: {}"+certificate.getSignatureAlgorithm());
throw new Exception("未定义的签名方法");
}
}
@@ -2,7 +2,7 @@ package minsecurity.certificate.cert;
import minsecurity.crypto.PublicKeyInterface;
import org.bouncycastle.pqc.math.linearalgebra.ByteUtils;
import org.slf4j.LoggerFactory;
//import org.slf4j.LoggerFactory;
/*
@@ -13,7 +13,7 @@ import org.slf4j.LoggerFactory;
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class Certificate {
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(Certificate.class);
// private static final org.slf4j.Logger logger = LoggerFactory.getLogger(Certificate.class);
private int version;
private long serialNumber;
@@ -15,7 +15,7 @@ import org.bouncycastle.jce.spec.ECParameterSpec;
import org.bouncycastle.math.ec.ECPoint;
import org.bouncycastle.math.ec.custom.gm.SM2P256V1Curve;
import org.bouncycastle.pqc.math.linearalgebra.ByteUtils;
import org.slf4j.LoggerFactory;
//import org.slf4j.LoggerFactory;
import java.math.BigInteger;
import java.security.*;
@@ -37,7 +37,7 @@ public class SM2Base {
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
}
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(SM2Base.class);
// private static final org.slf4j.Logger logger = LoggerFactory.getLogger(SM2Base.class);
/*
* 以下为SM2推荐曲线参数
@@ -14,7 +14,7 @@ import org.bouncycastle.crypto.CryptoException;
import org.bouncycastle.crypto.InvalidCipherTextException;
import org.bouncycastle.jcajce.provider.digest.SM3;
import org.bouncycastle.pqc.math.linearalgebra.ByteUtils;
import org.slf4j.LoggerFactory;
//import org.slf4j.LoggerFactory;
import javax.crypto.BadPaddingException;
import javax.crypto.IllegalBlockSizeException;
@@ -37,7 +37,7 @@ import java.util.Base64;
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class Identity {
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(Identity.class);
// private static final org.slf4j.Logger logger = LoggerFactory.getLogger(Identity.class);
private String Name;
private KeyParam KeyParam;
private PrivateKeyInterface Prikey;
+34
View File
@@ -1,5 +1,6 @@
package util;
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
@@ -30,4 +31,37 @@ public class FileUtil {
}
}
}
/**
* 确认某个需要存在的文件夹存在:不存在则自动创建之,返回false;否则返回true
* @return
*/
public static boolean confirmDirExistence(String fileName){
File file =new File(fileName);
boolean flag=true;
if(!file.exists()) {
file.mkdirs();
flag=false;
}
return flag;
}
/**
* 确认某个需要存在的文件存在:不存在则自动创建之,返回false;否则返回true
* @return
*/
public static boolean confirmFileExistence(String fileName){
File file =new File(fileName);
boolean flag=true;
try {
if(!file.exists()) {
file.createNewFile();
flag=false;
}
} catch (IOException e) {
e.printStackTrace();
flag=false;
}
return flag;
}
}