package com.genersoft.iot.vmp.gb28181.conf;
|
|
import gov.nist.core.CommonLogger;
|
import gov.nist.core.ServerLogger;
|
import gov.nist.core.StackLogger;
|
import gov.nist.javax.sip.message.SIPMessage;
|
import gov.nist.javax.sip.stack.SIPTransactionStack;
|
|
import javax.sip.SipStack;
|
import java.util.Properties;
|
|
public class ServerLoggerImpl implements ServerLogger {
|
|
private boolean showLog = true;
|
|
private SIPTransactionStack sipStack;
|
|
protected StackLogger stackLogger;
|
|
@Override
|
public void closeLogFile() {
|
|
}
|
|
@Override
|
public void logMessage(SIPMessage message, String from, String to, boolean sender, long time) {
|
if (!showLog) {
|
return;
|
}
|
StringBuilder stringBuilder = new StringBuilder();
|
stringBuilder.append(sender? "发送:目标--->" + from:"接收:来自--->" + to)
|
.append("\r\n")
|
.append(message);
|
this.stackLogger.logInfo(stringBuilder.toString());
|
|
}
|
|
@Override
|
public void logMessage(SIPMessage message, String from, String to, String status, boolean sender, long time) {
|
if (!showLog) {
|
return;
|
}
|
StringBuilder stringBuilder = new StringBuilder();
|
stringBuilder.append(sender? "发送: 目标->" + from :"接收:来自->" + to)
|
.append("\r\n")
|
.append(message);
|
this.stackLogger.logInfo(stringBuilder.toString());
|
}
|
|
@Override
|
public void logMessage(SIPMessage message, String from, String to, String status, boolean sender) {
|
if (!showLog) {
|
return;
|
}
|
StringBuilder stringBuilder = new StringBuilder();
|
stringBuilder.append(sender? "发送: 目标->" + from :"接收:来自->" + to)
|
.append("\r\n")
|
.append(message);
|
this.stackLogger.logInfo(stringBuilder.toString());
|
}
|
|
@Override
|
public void logException(Exception ex) {
|
if (!showLog) {
|
return;
|
}
|
this.stackLogger.logException(ex);
|
}
|
|
@Override
|
public void setStackProperties(Properties stackProperties) {
|
if (!showLog) {
|
return;
|
}
|
String TRACE_LEVEL = stackProperties.getProperty("gov.nist.javax.sip.TRACE_LEVEL");
|
if (TRACE_LEVEL != null) {
|
showLog = true;
|
}
|
}
|
|
@Override
|
public void setSipStack(SipStack sipStack) {
|
if (!showLog) {
|
return;
|
}
|
if(sipStack instanceof SIPTransactionStack) {
|
this.sipStack = (SIPTransactionStack)sipStack;
|
this.stackLogger = CommonLogger.getLogger(SIPTransactionStack.class);
|
}
|
}
|
}
|