private ICommStreamLogWriter CreateStreamLogWriter(CommLogCreatedEventArgs args)
        {
            var localNodeName  = this.GetDeviceName(args.LocalNodeType, args.LocalNodeCode);
            var remoteNodeName = this.GetDeviceName(args.RemoteNodeType, args.RemoteNodeCode);

            var logPath = string.Format(@"{0}\L{1}.{2}_R{3}.{4}", LogSettings.CommLogBasePath, args.LocalNodeCode, localNodeName, args.RemoteNodeCode, remoteNodeName);
            var logKey  = string.Format("{0}{1}-{2}{3}", args.LocalNodeType, args.LocalNodeCode, args.RemoteNodeType, args.RemoteNodeCode);

            //
            var ipc = CommLogHelper.GetParserCode(args.LocalNodeType, args.RemoteNodeType, true);
            var opc = CommLogHelper.GetParserCode(args.LocalNodeType, args.RemoteNodeType, false);

            //
            var logSettings = LogFileSettings.CreateV11(logKey, logPath, ipc, opc);

            logSettings.FileNamePrefix  = GetFileNamePrefix(args.LocalNodeCode, localNodeName, args.RemoteNodeCode, remoteNodeName);
            logSettings.FileNameSuffix  = "";
            logSettings.ExpiredDays     = this.LogExpiredDays;
            logSettings.FileDescription = GetFileDescription(localNodeName, remoteNodeName);

            //
            return(CommStreamLogManager.CreateLogWriter(logSettings));
        }