Browse code
Fix handling of untagged lines + update README
fiddlerwoaroof authored on 03/10/2016 17:42:33
Showing 3 changed files
Showing 3 changed files
... | ... |
@@ -11,12 +11,18 @@ entries and record them to their own tables. |
11 | 11 |
|
12 | 12 |
The db needs to be precreated with this schema: |
13 | 13 |
|
14 |
+#+BEGIN_SRC SQL |
|
14 | 15 |
create table messages (severity int, facility int, tag text, pid int, message text, host text, ts datetime default current_timestamp); |
15 | 16 |
create table dns_query (query_type text, request text, requester text, added text default current_timestamp); |
16 | 17 |
create table dns_reply (query text, reply text, added datetime default current_timestamp); |
18 |
+#+END_SRC |
|
17 | 19 |
|
18 | 20 |
|
19 | 21 |
* TODO |
20 | 22 |
|
21 | 23 |
- other db backends |
22 | 24 |
- customizable db paths |
25 |
+- batch db updates |
|
26 |
+- improve filtering command line options |
|
27 |
+- TUI / CLIM ui |
|
28 |
+ |
... | ... |
@@ -9,6 +9,11 @@ |
9 | 9 |
(result (dbi:execute query severity facility tag pid message host))) |
10 | 10 |
result)) |
11 | 11 |
|
12 |
+(defun log-untagged-to-sqlite (db &key line) |
|
13 |
+ (let* ((db-query (dbi:prepare db "insert into untagged (data) values (?)")) |
|
14 |
+ (result (dbi:execute db-query line))) |
|
15 |
+ result)) |
|
16 |
+ |
|
12 | 17 |
(defun log-dnsquery-to-sqlite (db &key query-type query from) |
13 | 18 |
(let* ((db-query (dbi:prepare db "insert into dns_query (query_type, request, requester) values (?,?,?)")) |
14 | 19 |
(result (dbi:execute db-query query-type query from))) |
... | ... |
@@ -1,3 +1,7 @@ |
1 |
+;; This Source Code Form is subject to the terms of the Mozilla Public |
|
2 |
+;; License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 |
+;; file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
4 |
+ |
|
1 | 5 |
(in-package #:syslog_helper) |
2 | 6 |
|
3 | 7 |
(define-codecs facility () |
... | ... |
@@ -46,6 +50,14 @@ |
46 | 50 |
(:method (tag metadata message orig-line) |
47 | 51 |
(declare (ignore tag metadata message)))) |
48 | 52 |
|
53 |
+(:method (tag metadata message orig-line) |
|
54 |
+ (declare (ignore tag metadata message))) |
|
55 |
+ |
|
56 |
+(defmethod handle-log-message :before ((tag (eql :untagged)) metadata message orig-line) |
|
57 |
+ (declare (ignore metadata message)) |
|
58 |
+ (dbi:with-connection (db :sqlite3 :database-name "/tmp/logs.db") |
|
59 |
+ (log-untagged-to-sqlite db :line orig-line))) |
|
60 |
+ |
|
49 | 61 |
(defmethod handle-log-message ((tag (eql :dnsmasq)) metadata message orig-line) |
50 | 62 |
(let* ((parsed-query (smug:parse (.dnsmasq-query) message)) |
51 | 63 |
(parsed-reply (unless parsed-query |