是否可以将日志文件转储到数据库中?

时间:2013-01-16 09:49:19

标签: mysql logging mysqldump logfile

我正在开发一个带有应用程序的项目,该应用程序将其日志存储在一个平面文件中。

然而,日志也需要存储在mysql数据库中以进行监视。

是否可以使用日志文件作为输入创建数据库?所以我猜它会与mysqldump相反?

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。有一百万种方法可以做到这一点,这里有一个使用bash和sqlite3作为数据库。

dw2:/tmp$ echo 'create table log (datetime string, message varchar(255));' | sqlite3 test.db
dw2:/tmp$ cat test.log
2013-01-16 05:24:40-05:00 Log line 1
2013-01-16 05:24:42-05:00 Log line 2
2013-01-16 05:24:44-05:00 Log line 3
2013-01-16 05:24:46-05:00 Log line 4
dw2:/tmp$ while read date time logmsg; do 
    echo "insert into log values ('$date $time', '$logmsg');" | sqlite3 test.db
done < test.log
dw2:/tmp$ echo 'select * from log;' | sqlite3 test.db                           
2013-01-16 05:24:40-05:00|Log line 1
2013-01-16 05:24:42-05:00|Log line 2
2013-01-16 05:24:44-05:00|Log line 3
2013-01-16 05:24:46-05:00|Log line 4