mirror of
https://gitee.com/willfree/min-dev-java.git
synced 2026-10-04 19:42:01 +08:00
更换日志模块,以适配安卓:由原来使用logback库更改为使用java原生库
This commit is contained in:
1 parent
4cc1c88ed2
commit
8729773b8b
23 files changed
+379
-175
No files matched your search
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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.");
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user