Package examples.nistgoodies.pluggablelogger

Source Code of examples.nistgoodies.pluggablelogger.ServerLoggerImpl

package examples.nistgoodies.pluggablelogger;

import java.util.Properties;

import javax.sip.SipStack;
import javax.sip.header.TimeStampHeader;

import examples.nistgoodies.configlogger.LogRecordFactoryImpl;

import gov.nist.core.ServerLogger;
import gov.nist.javax.sip.LogRecord;
import gov.nist.javax.sip.LogRecordFactory;
import gov.nist.javax.sip.header.CallID;
import gov.nist.javax.sip.message.SIPMessage;
import gov.nist.javax.sip.stack.SIPTransactionStack;

public class ServerLoggerImpl implements ServerLogger {
  
    private SIPTransactionStack sipStack;

    private LogRecordFactory logRecordFactory;
   
   
    public ServerLoggerImpl() {
        this.logRecordFactory = new LogRecordFactoryImpl();
    }

    public void closeLogFile() {
   
    }

    public void logException(Exception exception) {
        sipStack.getStackLogger().logStackTrace();
    }

    public void logMessage(SIPMessage message, String source, String destination, boolean isSender, long timeStamp) {
        String firstLine = message.getFirstLine();
        String tid = message.getTransactionId();
        String callId = message.getCallId().getCallId();
       
        LogRecord logRecord = logRecordFactory.createLogRecord(message.encode(), source, destination, timeStamp, isSender, firstLine, tid, callId,
                0);
        sipStack.getStackLogger().logInfo(logRecord.toString());
       
    }

    public void logMessage(SIPMessage message, String from, String to, String status, boolean sender) {
        logMessage(message, from, to, status, sender, System.currentTimeMillis());
    }

    public void logMessage(SIPMessage message, String source, String destination, String status, boolean isSender,
            long timeStamp) {
        // TODO Auto-generated method stub
        CallID cid = (CallID) message.getCallId();
        String callId = null;
        if (cid != null)
            callId = cid.getCallId();
        String firstLine = message.getFirstLine().trim();
        String tid = message.getTransactionId();
        TimeStampHeader tshdr = (TimeStampHeader) message.getHeader(TimeStampHeader.NAME);
        long tsval = tshdr == null ? 0 : tshdr.getTime();
        LogRecord logRecord = logRecordFactory.createLogRecord(message.encode(), source, destination, timeStamp, isSender, firstLine, tid, callId,
                tsval);
        sipStack.getStackLogger().logInfo(logRecord.toString());
    
    }

    public void setSipStack(SipStack sipStack) {
        this.sipStack = (SIPTransactionStack) sipStack;
      
    }

    public void setStackProperties(Properties properties) {
      
    }
   
  
}
TOP

Related Classes of examples.nistgoodies.pluggablelogger.ServerLoggerImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.