0
我正在使用将应用程序的日志存储在平面文件中的项目。是否可以将日志文件转储到数据库中?
但是日志还需要存储在mysql数据库中以用于监视目的。
是否可以使用日志文件作为输入来创建数据库?所以我想这将是一个mysqldump的反面?
我正在使用将应用程序的日志存储在平面文件中的项目。是否可以将日志文件转储到数据库中?
但是日志还需要存储在mysql数据库中以用于监视目的。
是否可以使用日志文件作为输入来创建数据库?所以我想这将是一个mysqldump的反面?
是的,这是可能的。有一百万种方法可以做到这一点,这里是一个使用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
它们已经存储在已针对文件存储和检索进行了优化的数据库中:文件系统。你为什么要将它们存储在RDBMS中?你提到的这些“监控目的”是什么? – eggyal
作为系统需要登录到平面文件的需求的一部分,我需要他们在MySQL数据库中。工具将被用来分析mysql数据库中的数据。我不确定这些工具是什么 – Travis
“*我需要他们在MySQL数据库*”可能需要一些进一步的解释。这个数据库的模式是什么?它可能会由要执行的分析或操纵它的工具决定。这反过来将决定如何导入日志。 – eggyal