public void SaveItem(LogItem item) { if (_insertEventLogItemCommand == null) { _insertEventLogItemCommand = new NpgsqlCommand("INSERT INTO event_log (event_time, ip, user_name, event) VALUES (:event_time, :ip, :user_name, :event)"); _insertEventLogItemCommand.Parameters.Add("event_time", NpgsqlDbType.TimestampTZ); // 0 _insertEventLogItemCommand.Parameters.Add("ip", NpgsqlDbType.Text); // 1 _insertEventLogItemCommand.Parameters.Add("user_name", NpgsqlDbType.Text); // 2 _insertEventLogItemCommand.Parameters.Add("event", NpgsqlDbType.Text); // 3 _insertEventLogItemCommand.Connection = _pgConnect; } // Now, add a value to it and later execute the command as usual. _insertEventLogItemCommand.Parameters[0].Value = item.Time; _insertEventLogItemCommand.Parameters[1].Value = item.IP; _insertEventLogItemCommand.Parameters[1].Size = item.IP.Length; _insertEventLogItemCommand.Parameters[3].Value = item.Message; _insertEventLogItemCommand.Parameters[3].Size = item.Message.Length; _insertEventLogItemCommand.ExecuteNonQuery(); }
private void SetItemInvoke(LogItem item) { // InvokeRequired required compares the thread ID of the // calling thread to the thread ID of the creating thread. // If these threads are different, it returns true. if (LogView.InvokeRequired) { Invoke(new SetItem(SetItemInvoke), new object[] { item }); } else { var logitem = LogView.Items.Add(item.Time.ToString(CultureInfo.InvariantCulture)); logitem.SubItems.Add(item.IP); logitem.SubItems.Add(item.Message); } }
public void Log(LogItem item) { _logItems.Enqueue(item); _newItemEvent.Set(); }
public LogItemEventArgs(LogItem msg) { item = msg; }