/// <summary>写入SQL到文本中</summary> /// <param name="sql"></param> public void WriteSQL(String sql) { #if !__CORE__ // 如果页面设定有XCode_SQLList列表,则往列表写入SQL语句 var context = HttpContext.Current; if (context != null) { if (context.Items["XCode_SQLList"] is List <String> list) { list.Add(sql); } } #endif if (!ShowSQL) { return; } var sqlpath = Setting.Current.SQLPath; if (String.IsNullOrEmpty(sqlpath)) { WriteLog(sql); } else { if (logger == null) { logger = TextFileLog.Create(sqlpath); } logger.Info(sql); } }
private void FrmMain_Load(Object sender, EventArgs e) { var log = TextFileLog.Create(null, "Net_{0:yyyy_MM_dd}.log"); BizLog = txtReceive.Combine(log); txtReceive.UseWinFormControl(); //txtReceive.SetDefaultStyle(12); //txtSend.SetDefaultStyle(12); //numMutilSend.SetDefaultStyle(12); //gbReceive.Tag = gbReceive.Text; //gbSend.Tag = gbSend.Text; _task.ContinueWith(t => { var dic = EnumHelper.GetDescriptions <WorkModes>(); var list = dic.Select(kv => kv.Value).ToList(); //var ds = dic.ToDictionary(s => s.Value, s => s.Value); foreach (var item in t.Result) { list.Add(item.Key); } //this.Invoke(() => //{ cbMode.AppendValues(list); var cfg = NetConfig.Current; if (cfg.Mode > 0 && dic.ContainsKey((WorkModes)cfg.Mode)) { cbMode.Active = list.FindIndex(f => f == dic[(WorkModes)cfg.Mode]); } else { cbMode.Active = 0; } //}); }); //// 加载保存的颜色 //UIConfig.Apply(txtReceive); LoadConfig(); //// 语音识别 //ThreadPoolX.QueueUserWorkItem(() => //{ // var sp = SpeechRecognition.Current; // if (!sp.Enable) return; // sp.Register("打开", () => this.Invoke(Connect)) // .Register("关闭", () => this.Invoke(Disconnect)) // .Register("退出", () => Application.Exit()) // .Register("发送", () => this.Invoke(() => btnSend_Click(null, null))); // BizLog.Info("语音识别前缀:{0} 可用命令:{1}", sp.Name, sp.GetAllKeys().Join()); //}); }
private void FrmMain_Load(Object sender, EventArgs e) { var log = TextFileLog.Create(null, "Map_{0:yyyy_MM_dd}.log"); BizLog = txtReceive.Combine(log); txtReceive.UseWinFormControl(); txtReceive.SetDefaultStyle(12); // 加载保存的颜色 UIConfig.Apply(txtReceive); LoadConfig(); var cfg = Setting; var cb = cbMap; cb.Items.Clear(); cb.DisplayMember = "Name"; foreach (var item in typeof(IMap).GetAllSubclasses(true)) { //var name = item.GetDisplayName() ?? item.Name; //Maps[name] = item; //cb.Items.Add(name); cb.Items.Add(item); if (cfg.Map == item.Name) { cb.SelectedItem = item; } } //if (cb.Items.Count > 0) cb.SelectedText = cfg.Map; }
/// <summary>写入SQL到文本中</summary> /// <param name="sql"></param> public void WriteSQL(String sql) { if (sql.IsNullOrEmpty()) { return; } // 如果页面设定有XCode_SQLList列表,则往列表写入SQL语句 DAL.LocalFilter?.Invoke(sql); if (!ShowSQL) { return; } var sqlpath = Setting.Current.SQLPath; if (String.IsNullOrEmpty(sqlpath)) { WriteLog(sql); } else { if (logger == null) { logger = TextFileLog.Create(sqlpath); } logger.Info(sql); } }
List <Bar> GetBars(List <Melanchall.DryWetMidi.Smf.Interaction.Note> notes, TempoMap tempoMap) { TextFileLog log = new TextFileLog(); List <Bar> bars = new List <Bar>(); long summedLenghtOfNotes = 0; int i = 0; Bar bar = new Bar(); while (i < notes.Count) { var musicalTime = notes[i].LengthAs <MusicalTimeSpan>(tempoMap); summedLenghtOfNotes += RoundUpNoteLength(musicalTime.Numerator, musicalTime.Denominator); bar.notes.Add(notes[i]); if (summedLenghtOfNotes >= musicalTime.Denominator) { bars.Add(bar); bar = new Bar(); summedLenghtOfNotes = 0; } i++; } return(bars); }
public virtual XTuple <Log, LogEditor> CreateTextFileLog( string filePath) { var log = new TextFileLog(filePath); return(XTuple.Create <Log, LogEditor>(log, log)); }
void Connect() { spList.Connect(); var st = spList.Port; //st.FrameSize = 8; if (st == null) { return; } // 需要考虑UI线程 st.Disconnected += (s, e) => this.Invoke(Disconnect); // 发现USB2401端口,自动发送设置命令 if (st.Description.Contains("USB2401") || st.Description.Contains("USBSER")) { var cmd = "AT+SET=00070000000000"; st.Send(cmd.GetBytes()); //XTrace.WriteLine(cmd); TextControlLog.WriteLog(txtReceive, cmd); } "连接串口{0}".F(st.PortName).SpeechTip(); btnConnect.Text = "关闭"; BizLog = TextFileLog.Create("SerialLog"); var cfg = XConfig.Current; cfg.ColorLog = cbColor.Checked; cfg.Save(); }
private void FrmMain_Load(Object sender, EventArgs e) { var log = TextFileLog.Create(null, "Serial_{0:yyyy_MM_dd}.log"); BizLog = txtReceive.Combine(log); txtReceive.UseWinFormControl(); txtReceive.SetDefaultStyle(12); txtSend.SetDefaultStyle(12); numMutilSend.SetDefaultStyle(12); gbReceive.Tag = gbReceive.Text; gbSend.Tag = gbSend.Text; var menu = spList.Menu; txtReceive.ContextMenuStrip = menu; // 添加清空 menu.Items.Insert(0, new ToolStripSeparator()); var ti = new ToolStripMenuItem("清空"); menu.Items.Insert(0, ti); ti.Click += mi清空_Click; // 加载保存的颜色 UIConfig.Apply(txtReceive); ti = new ToolStripMenuItem("日志着色"); ti.Name = "日志着色"; menu.Items.Insert(2, ti); ti.Click += miCheck_Click; ti.Checked = XConfig.Current.ColorLog; }
/// <summary>参数启动</summary> static void StartWithParameter(String[] args) { var dic = new Dictionary <String, String>(StringComparer.OrdinalIgnoreCase); for (var i = 2; i < args.Length - 1; i++) { switch (args[i].ToLower()) { case "-config": case "-model": case "-connstr": case "-provider": case "-log": dic.Add(args[i].Substring(1), args[++i].Trim('\"')); break; default: break; } } // 转移日志 var logfile = ""; if (dic.TryGetValue("Log", out logfile) && !logfile.IsNullOrWhiteSpace()) { #if DEBUG XTrace.WriteLine("准备切换日志到 {0}", logfile); #endif try { var log = TextFileLog.CreateFile(logfile); log.Info("XCoder.exe {0}", String.Join(" ", args)); XTrace.Log = log; } catch (Exception ex) { XTrace.WriteException(ex); } } switch (args[1].ToLower()) { case "-render": Render(dic["Model"], dic["Config"]); return; case "-makemodel": MakeModel(dic["Model"], dic["ConnStr"], dic["Provider"]); return; case "-update": Update(false); return; default: break; } }
private void FrmMain_Load(Object sender, EventArgs e) { var log = TextFileLog.Create(null, "Message_{0:yyyy_MM_dd}.log"); BizLog = txtReceive.Combine(log); txtReceive.UseWinFormControl(); txtReceive.SetDefaultStyle(12); txtSend.SetDefaultStyle(12); numMutilSend.SetDefaultStyle(12); gbReceive.Tag = gbReceive.Text; gbSend.Tag = gbSend.Text; var cfg = MessageConfig.Current; cbMode.SelectedItem = cbMode.Items[0] + ""; if (!cfg.Address.IsNullOrEmpty()) { //cbAddr.DropDownStyle = ComboBoxStyle.DropDownList; cbAddr.DataSource = cfg.Address.Split(";"); } // 加载封包协议 foreach (var item in _packets.Result) { cbPacket.Items.Add(item.GetDisplayName() ?? item.Name); } cbPacket.SelectedIndex = 0; // 加载保存的颜色 UIConfig.Apply(txtReceive); LoadConfig(); // 语音识别 Task.Factory.StartNew(() => { var sp = SpeechRecognition.Current; if (!sp.Enable) { return; } sp.Register("打开", () => this.Invoke(Connect)) .Register("关闭", () => this.Invoke(Disconnect)) .Register("退出", () => Application.Exit()) .Register("发送", () => this.Invoke(() => btnSend_Click(null, null))); BizLog.Info("语音识别前缀:{0} 可用命令:{1}", sp.Name, sp.GetAllKeys().Join()); }); }
void Connect() { _Client = null; var uri = new NetUri(cbAddr.Text); var cfg = Setting.Current; var mode = cbMode.Text; var ac = new LinkClient(uri.ToString()) { Log = cfg.ShowLog ? XTrace.Log : Logger.Null, EncoderLog = cfg.ShowEncoderLog ? XTrace.Log : Logger.Null }; //ac.Received += OnReceived; ac.UserName = cfg.UserName; ac.Password = cfg.Password; ac.ActionPrefix = mode; //ac.Encrypted = cfg.Encrypted; //ac.Compressed = cfg.Compressed; if (!ac.Open()) { return; } ac.CreateCallback = sc => { sc.Log = cfg.ShowLog ? XTrace.Log : Logger.Null; sc.LogSend = cfg.ShowSend; sc.LogReceive = cfg.ShowReceive; }; "已连接服务器".SpeechTip(); _Client = ac; pnlSetting.Enabled = false; pnlAction.Enabled = true; btnConnect.Text = "关闭"; // 添加地址 cfg.AddAddresss(uri.ToString()); cfg.Save(); BizLog = TextFileLog.Create("DeviceLog"); }
private void FrmMain_Load(Object sender, EventArgs e) { var log = TextFileLog.Create(null, "Api_{0:yyyy_MM_dd}.log"); BizLog = txtReceive.Combine(log); txtReceive.UseWinFormControl(); txtReceive.SetDefaultStyle(12); txtSend.SetDefaultStyle(12); numMutilSend.SetDefaultStyle(12); gbReceive.Tag = gbReceive.Text; gbSend.Tag = gbSend.Text; var cfg = ApiConfig.Current; //cbMode.SelectedItem = cbMode.Items[0] + ""; cbMode.SelectedItem = cfg.Mode; var flag = (cfg.Mode == "服务端"); numPort.Enabled = flag; cbAddr.Enabled = !flag; // 加载保存的颜色 UIConfig.Apply(txtReceive); LoadConfig(); // 语音识别 ThreadPoolX.QueueUserWorkItem(() => { var sp = SpeechRecognition.Current; if (!sp.Enable) { return; } sp.Register("打开", () => this.Invoke(Connect)) .Register("关闭", () => this.Invoke(Disconnect)) .Register("退出", () => Application.Exit()) .Register("发送", () => this.Invoke(() => btnSend_Click(null, null))); BizLog.Info("语音识别前缀:{0} 可用命令:{1}", sp.Name, sp.GetAllKeys().Join()); }); }
private void Form1_Load(Object sender, EventArgs e) { var log = TextFileLog.Create(null, "Folder_{0:yyyy_MM_dd}.log"); BizLog = txtLog.Combine(log); txtLog.UseWinFormControl(); foreach (var item in DriveInfo.GetDrives()) { if (item.DriveType == DriveType.Fixed) { var str = String.Format("{0,-10} ({1})", item.Name, FormatSize(item.TotalSize)); var tn = treeView1.Nodes.Add(str); tn.Tag = item.RootDirectory.ToString(); tn.Nodes.Add("no"); } } }
void Connect() { spList.Connect(); var st = spList.Port; //st.FrameSize = 8; // 需要考虑UI线程 st.Disconnected += (s, e) => this.Invoke(Disconnect); // 发现USB2401端口,自动发送设置命令 if (st.Description.Contains("USB2401") || st.Description.Contains("USBSER")) { var cmd = "AT+SET=00070000000000"; st.Send(cmd.GetBytes()); //XTrace.WriteLine(cmd); TextControlLog.WriteLog(txtReceive, cmd); } btnConnect.Text = "关闭"; BizLog = TextFileLog.Create("SerialLog"); }
private void SetVerticalIntervals(VoiceLine firstVoice, VoiceLine secondVoice, int voiceNumber) { long currentPositionInBar1 = 0; long currentPositionInBar2 = 0; firstVoice.VerticalIntervals.Add(new List <int>()); TextFileLog log = new TextFileLog(); for (int i = 0; i < firstVoice.Bars.Count; i++) { if (i < secondVoice.Bars.Count) { int j = 0; // iterates over fist voices notes int k = 0; // itarates over second voices notes //variables keeping record of last value of j and k int lastJ = -1; int lastK = -1; while (j < firstVoice[i].notes.Count && k < secondVoice[i].notes.Count) { firstVoice.VerticalIntervals[voiceNumber] .Add(CounterpointAnalysis.GetIntervalInSemitones(firstVoice[i][j], secondVoice[i][k])); if (lastJ != j) { var a = firstVoice[i][j].LengthAs <MusicalTimeSpan>(tempoMap); currentPositionInBar1 += a.Numerator % 2 == 0 ? a.Numerator : a.Numerator + 1; } if (lastK != k) { var b = secondVoice[i][k].LengthAs <MusicalTimeSpan>(tempoMap); currentPositionInBar2 += b.Numerator % 2 == 0 ? b.Numerator : b.Numerator + 1; } lastJ = j; lastK = k; if (currentPositionInBar1 < currentPositionInBar2) { j++; } else if (currentPositionInBar1 > currentPositionInBar2) { k++; } else { k++; j++; } } } } }
void Connect() { _Server = null; _Client = null; var uri = new NetUri(cbAddr.Text); var cfg = ApiConfig.Current; switch (cbMode.Text) { case "服务端": var svr = new ApiServer(uri); svr.Log = cfg.ShowLog ? XTrace.Log : Logger.Null; svr.EncoderLog = cfg.ShowEncoderLog ? XTrace.Log : Logger.Null; svr.Start(); "正在监听{0}".F(uri.Port).SpeechTip(); _Server = svr; break; case "客户端": var client = new ApiClient(uri + ""); client.Log = cfg.ShowLog ? XTrace.Log : Logger.Null; client.EncoderLog = cfg.ShowEncoderLog ? XTrace.Log : Logger.Null; // 连接成功后拉取Api列表 client.Opened += (s, e) => GetApiAll(); _Client = client; client.Open(); "已连接服务器".SpeechTip(); break; default: return; } pnlSetting.Enabled = false; btnConnect.Text = "关闭"; // 添加地址 var addr = uri.ToString(); var list = cfg.Address.Split(";").ToList(); if (!list.Contains(addr)) { list.Insert(0, addr); cfg.Address = list.Join(";"); } cfg.Save(); _timer = new TimerX(ShowStat, null, 5000, 5000); BizLog = TextFileLog.Create("ApiLog"); }
/// <summary>写入SQL到文本中</summary> /// <param name="sql"></param> /// <param name="ps"></param> public void WriteSQL(String sql, params DbParameter[] ps) { if (!ShowSQL) { return; } if (ps != null && ps.Length > 0) { var sb = new StringBuilder(64); sb.Append(sql); sb.Append("["); for (int i = 0; i < ps.Length; i++) { if (i > 0) { sb.Append(", "); } var v = ps[i].Value; var sv = ""; if (v is Byte[]) { var bv = v as Byte[]; if (bv.Length > 8) { sv = String.Format("[{0}]0x{1}...", bv.Length, BitConverter.ToString(bv, 0, 8)); } else { sv = String.Format("[{0}]0x{1}", bv.Length, BitConverter.ToString(bv)); } } else if (v is String) { sv = v as String; if (sv.Length > 32) { sv = String.Format("[{0}]{1}...", sv.Length, sv.Substring(0, 8)); } } else { sv = "" + v; } sb.AppendFormat("{1}:{0}={2}", ps[i].ParameterName, ps[i].DbType, sv); } sb.Append("]"); sql = sb.ToString(); } // 如果页面设定有XCode_SQLList列表,则往列表写入SQL语句 var context = HttpContext.Current; if (context != null) { var list = context.Items["XCode_SQLList"] as List <String>; if (list != null) { list.Add(sql); } } if (String.IsNullOrEmpty(DAL.SQLPath)) { WriteLog(sql); } else { if (logger == null) { logger = TextFileLog.Create(DAL.SQLPath); } logger.Info(sql); } }
void Connect() { _Server = null; _Client = null; var uri = new NetUri(cbAddr.Text); // 网络封包 var idx = cbPacket.SelectedIndex; var fact = idx < 0 ? null : _packets.Result[idx].CreateInstance() as IPacketFactory; _Packet = fact.Create(); var cfg = MessageConfig.Current; switch (cbMode.Text) { case "服务端": var svr = new NetServer(); svr.Log = cfg.ShowLog ? XTrace.Log : Logger.Null; svr.SocketLog = cfg.ShowSocketLog ? XTrace.Log : Logger.Null; svr.Port = uri.Port; if (uri.IsTcp || uri.IsUdp) { svr.ProtocolType = uri.Type; } svr.MessageReceived += OnReceived; svr.LogSend = cfg.ShowSend; svr.LogReceive = cfg.ShowReceive; // 加大会话超时时间到1天 svr.SessionTimeout = 24 * 3600; svr.SessionPacket = fact; svr.Start(); "正在监听{0}".F(svr.Port).SpeechTip(); if (uri.Port == 0) { uri.Port = svr.Port; } _Server = svr; break; case "客户端": var client = uri.CreateRemote(); client.Log = cfg.ShowLog ? XTrace.Log : Logger.Null; client.MessageReceived += OnReceived; client.LogSend = cfg.ShowSend; client.LogReceive = cfg.ShowReceive; client.Packet = _Packet; client.Open(); "已连接服务器".SpeechTip(); if (uri.Port == 0) { uri.Port = client.Port; } _Client = client; break; default: return; } pnlSetting.Enabled = false; btnConnect.Text = "关闭"; // 添加地址 var addr = uri.ToString(); var list = cfg.Address.Split(";").ToList(); if (!list.Contains(addr)) { list.Insert(0, addr); cfg.Address = list.Join(";"); } cfg.Save(); _timer = new TimerX(ShowStat, null, 5000, 5000); BizLog = TextFileLog.Create("MessageLog"); }
void Connect() { _Server = null; _Client = null; var port = (Int32)numPort.Value; var cfg = NetConfig.Current; cfg.Port = port; var mode = GetMode(); switch (mode) { case WorkModes.UDP_TCP: _Server = new NetServer(); break; case WorkModes.UDP_Server: _Server = new NetServer(); _Server.ProtocolType = NetType.Udp; break; case WorkModes.TCP_Server: _Server = new NetServer(); _Server.ProtocolType = NetType.Tcp; break; case WorkModes.TCP_Client: var tcp = new TcpSession(); _Client = tcp; cfg.Address = cbAddr.Text; break; case WorkModes.UDP_Client: var udp = new UdpServer(); _Client = udp; cfg.Address = cbAddr.Text; break; default: if ((Int32)mode > 0) { var ns = GetNetServers().Where(n => n.Name == cbMode.Text).FirstOrDefault(); if (ns == null) { throw new XException("未识别服务[{0}]", mode); } _Server = ns.GetType().CreateInstance() as NetServer; } break; } if (_Client != null) { _Client.Log = cfg.ShowLog ? XTrace.Log : Logger.Null; _Client.Received += OnReceived; _Client.Remote.Port = port; _Client.Remote.Host = cbAddr.Text; _Client.LogSend = cfg.ShowSend; _Client.LogReceive = cfg.ShowReceive; _Client.Open(); "已连接服务器".SpeechTip(); } else if (_Server != null) { if (_Server == null) { _Server = new NetServer(); } _Server.Log = cfg.ShowLog ? XTrace.Log : Logger.Null; _Server.SocketLog = cfg.ShowSocketLog ? XTrace.Log : Logger.Null; _Server.Port = port; if (!cbAddr.Text.Contains("所有本地")) { _Server.Local.Host = cbAddr.Text; } _Server.Received += OnReceived; _Server.LogSend = cfg.ShowSend; _Server.LogReceive = cfg.ShowReceive; _Server.Start(); "正在监听{0}".F(port).SpeechTip(); } pnlSetting.Enabled = false; btnConnect.Text = "关闭"; cfg.Save(); _timer = new TimerX(ShowStat, null, 5000, 5000); BizLog = TextFileLog.Create("NetLog"); }
private void FrmMain_Load(Object sender, EventArgs e) { var log = TextFileLog.Create(null, "Net_{0:yyyy_MM_dd}.log"); BizLog = txtReceive.Combine(log); txtReceive.UseWinFormControl(); txtReceive.SetDefaultStyle(12); txtSend.SetDefaultStyle(12); numMutilSend.SetDefaultStyle(12); gbReceive.Tag = gbReceive.Text; gbSend.Tag = gbSend.Text; _task.ContinueWith(t => { var dic = EnumHelper.GetDescriptions <WorkModes>(); var list = dic.Select(kv => kv.Value).ToList(); //var ds = dic.ToDictionary(s => s.Value, s => s.Value); foreach (var item in t.Result) { list.Add(item.Key); } this.Invoke(() => { cbMode.DataSource = list; var cfg = NetConfig.Current; if (cfg.Mode > 0 && dic.ContainsKey((WorkModes)cfg.Mode)) { cbMode.SelectedItem = dic[(WorkModes)cfg.Mode]; } else { cbMode.SelectedIndex = 0; } }); }); // 加载保存的颜色 UIConfig.Apply(txtReceive); LoadConfig(); // 语音识别 Task.Factory.StartNew(() => { var sp = SpeechRecognition.Current; if (!sp.Enable) { return; } sp.Register("打开", () => this.Invoke(Connect)) .Register("关闭", () => this.Invoke(Disconnect)) .Register("退出", () => Application.Exit()) .Register("发送", () => this.Invoke(() => btnSend_Click(null, null))); BizLog.Info("语音识别前缀:{0} 可用命令:{1}", sp.Name, sp.GetAllKeys().Join()); }); }
void Connect() { _Server = null; _Client = null; var mode = GetMode(); var local = cbLocal.Text; var remote = cbRemote.Text; var port = (Int32)numPort.Value; var cfg = NetConfig.Current; cfg.Mode = (Byte)mode; switch (mode) { case WorkModes.UDP_TCP: _Server = new NetServer(); break; case WorkModes.UDP_Server: _Server = new NetServer(); _Server.ProtocolType = NetType.Udp; break; case WorkModes.TCP_Server: _Server = new NetServer(); _Server.ProtocolType = NetType.Tcp; break; case WorkModes.TCP_Client: _Client = new TcpSession(); break; case WorkModes.UDP_Client: _Client = new UdpServer(); break; default: if ((Int32)mode > 0) { var ns = GetServer(cbMode.Text); if (ns == null) { throw new XException("未识别服务[{0}]", mode); } _Server = ns.GetType().CreateInstance() as NetServer; } break; } if (_Client != null) { _Client.Log = cfg.ShowLog ? XTrace.Log : Logger.Null; if (!local.Contains("所有本地")) { _Client.Local.Host = local; } _Client.Received += OnReceived; _Client.Remote.Port = port; _Client.Remote.Host = remote; _Client.LogSend = cfg.ShowSend; _Client.LogReceive = cfg.ShowReceive; if (!_Client.Open()) { return; } "已连接服务器".SpeechTip(); } else if (_Server != null) { if (_Server == null) { _Server = new NetServer(); } _Server.Log = cfg.ShowLog ? XTrace.Log : Logger.Null; _Server.SocketLog = cfg.ShowSocketLog ? XTrace.Log : Logger.Null; _Server.Port = port; if (!local.Contains("所有本地")) { _Server.Local.Host = local; } _Server.Received += OnReceived; _Server.LogSend = cfg.ShowSend; _Server.LogReceive = cfg.ShowReceive; //// 加大会话超时时间到1天 //_Server.SessionTimeout = 24 * 3600; _Server.Start(); "正在监听{0}".F(port).SpeechTip(); } pnlSetting.Enabled = false; btnConnect.Text = "关闭"; cfg.Save(); _timer = new TimerX(ShowStat, null, 5000, 5000); BizLog = TextFileLog.Create("NetLog"); }
/// <summary>写入SQL到文本中</summary> /// <param name="sql"></param> /// <param name="ps"></param> public static void WriteSQL(String sql, params DbParameter[] ps) { if (!ShowSQL) { return; } if (ps != null && ps.Length > 0) { StringBuilder sb = new StringBuilder(); sb.Append(sql); sb.Append("["); for (int i = 0; i < ps.Length; i++) { if (i > 0) { sb.Append(", "); } var v = ps[i].Value; var sv = ""; if (v is Byte[]) { var bv = v as Byte[]; if (bv.Length > 8) { sv = String.Format("[{0}]0x{1}...", bv.Length, BitConverter.ToString(bv, 0, 8)); } else { sv = String.Format("[{0}]0x{1}", bv.Length, BitConverter.ToString(bv)); } } else if (v is String) { sv = v as String; if (sv.Length > 8) { sv = String.Format("[{0}]{1}...", sv.Length, sv.Substring(0, 8)); } } else { sv = "" + v; } sb.AppendFormat("{1}:{0}={2}", ps[i].ParameterName, ps[i].DbType, sv); } sb.Append("]"); sql = sb.ToString(); } if (String.IsNullOrEmpty(DAL.SQLPath)) { WriteLog(sql); } else { if (logger == null) { logger = TextFileLog.Create(DAL.SQLPath); } logger.WriteLine(sql); } }