首先是下载所需要的包,然后在\logback-112\logback-classic\src\main\java\ch\qos\logback\classic\db\script下你能看到创建日志所需要的的建表脚本
然后就是配置了。
首先是报错的配置,也是网上找资料别人给的配置……
复制代码
<!-- 将日志存储到oracle数据库中 -->
<appender name="db-classic-oracle" class="chqoslogbackclassicdbDBAppender">
<connectionSource class="chqoslogbackcoredbDriverManagerConnectionSource">
<dataSource class="commchangev2c3p0ComboPooledDataSource">
<driverClassName>oraclejdbcdriverOracleDriver</driverClassName>
<url>jdbc:oracle:thin:@localhost:1521:ZYD</url>
<user>scott</user>
<password>tiger</password>
</dataSource>
</connectionSource>
</appender>
复制代码
运行一下,你会发现会报这个错误:DBAppender cannot function if the JDBC driver does not support getGeneratedKeys method and without a specific SQL dialect
然后把气冲冲的加上了方言……
复制代码
<!-- 将日志存储到oracle数据库中 -->
<appender name="db-classic-oracle" class="chqoslogbackclassicdbDBAppender">
<connectionSource class="chqoslogbackcoredbDriverManagerConnectionSource">
<dataSource class="commchangev2c3p0ComboPooledDataSource">
<driverClassName>oraclejdbcdriverOracleDriver</driverClassName>
<url>jdbc:oracle:thin:@localhost:1521:ZYD</url>
<user>scott</user>
<password>tiger</password>
<sqlDialect class="chqoslogbackcoredbdialectOracleDialect" />
</dataSource>
</connectionSource>
</appender>
复制代码
结果还是不对!
最后跑去Stack OwerFlow网站看了一下那帮外国程序员是怎么解决的,终于在看了几个帮助之后
发现了……
<driverClassName>oraclejdbcdriverOracleDriver</driverClassName>
原来还有它的错,正确的应该是
复制代码
<!-- 将日志存储到oracle数据库中 -->
<appender name="db-classic-oracle" class="chqoslogbackclassicdbDBAppender">
<connectionSource class="chqoslogbackcoredbDriverManagerConnectionSource">
<dataSource class="commchangev2c3p0ComboPooledDataSource">
<driverClass>oraclejdbcdriverOracleDriver</driverClass>
<url>jdbc:oracle:thin:@localhost:1521:ZYD</url>
<user>scott</user>
<password>tiger</password>
<sqlDialect class="chqoslogbackcoredbdialectOracleDialect" />
</dataSource>
</connectionSource>
</appender>
复制代码
再试一下,终于成功了!
转载我在使用syslog-ng搭建日志服务器中已经讲了如何将syslog-ng配置为中心日志服务器,下面介绍如何将syslogng的日志写入mysql数据库
系统:Gentoo-2007
1、修改/etc/syslog-ng/syslog-ngconf,添加
CODE:
source s_remote {
udp(ip(0000) port(514));
};
destination r_mysql {
program("/usr/bin/mysql -usyslogadmin -psyslogadmin syslog < /var/log/mysqlpipe");
pipe("/var/log/mysqlpipe"
template("INSERT INTO logs
(host, facility, priority, level, tag, datetime, program, msg)
VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC',
'$PROGRAM', '$MSG' );\n") template-escape(yes));
};
log { source(s_remote); destination(r_mysql); };
2、建立mysqlpipe文件按
#mkfifo /var/log/mysqlpipe
3、重新启动syslog-ng
#/etc/initd/syslog-ng restart
这种方法如果结合phpsyslogng一起使用,就可以在浏览器中对日志进行进一步的过滤和查看,非常方便。
1、通过sqlplus命令连接数据库,查看服务器是否已经开启归档。
2、查看归档日志默认存储位置,在查看归档的时候默认使用USE_DB_RECOVERY_FILE_DEST参数来表示归档位置,所以可以通过如下图参数来查看具体位置。
3、可以看出归档默认存储在闪回区内,默认大小是4G,一般情况下在归档默认空间使用结束的时候一般有两种方式可对归档进行修改。
4、修改log_archive_dest_1参数的值。
5、修改完成后重启数据库。
6、重启之后再重新查看归档日志默认存储位置,发现已经修改成功。
7、修改成功后一般情况下都会进行一次日志切换来验证默认归档位置是否发生改变。
以上就是关于logback怎么异步日志到oracle数据库中全部的内容,包括:logback怎么异步日志到oracle数据库中、如何将syslogng的日志写入MySQL数据库、Oracle的日志文件存储在什么位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)