
哈,先写日志文件为保证数据库的可恢复性,日志文件能够用来进行事务故障恢复、系统故障恢复,并能够协助后备副本进行介质故障恢复。当数据库文件毁坏后,可重新装入后援副本把数据库恢复到转储结束时刻的正确状态,再利用建立的日志文件,可以把已完成的事务进行重做处理,而对于故障发生时尚未完成的事务则进行撤消处理,这样不用运行应用程序就可把数据库恢复到故障前某一时刻的正确状态。
配置log4j2日志记录至数据库
1、建立用于保存日志的数据库表:
CREATE TABLE `sys_log` (`id` int(11) NOT NULL AUTO_INCREMENT,
`level` varchar(32) NOT NULL,
`logger` varchar(100) NOT NULL,
`message` varchar(1000) DEFAULT NULL,
`exception` varchar(10000) DEFAULT NULL,
`date_add` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4;
2、配置 databaseAppender :
<JDBC name="databaseAppender" tableName="sys_log"><ConnectionFactory class="ccs2mwebs2mBlogutilStaticProp" method="getDatabaseConnection" />
<Column name="date_add" isEventTimestamp="true" />
<Column name="level" pattern="%level" />
<Column name="logger" pattern="%logger" />
<Column name="message" pattern="%message" />
<Column name="exception" pattern="%ex{full}" />
</JDBC>
3、其中 ccs2mwebs2mBlogutilStaticProp 类的getDatabaseConnection方法为获取可用的datasource:
DriverManagerDataSource ds = new DriverManagerDataSource();dssetDriverClassName("commysqljdbcDriver");
dssetUrl("jdbc:mysql://127001/s2mBlogcharacterEncoding=utf8");
dssetUsername("root");
dssetPassword("123456");
return dsgetConnection();
4、指派需要记录的日志,使用 databaseAppender 即可:
<logger name="SYSLOG" level="INFO" additivity="false"><appender-ref ref="databaseAppender"/>
</logger>
查看sql数据库 *** 作日志的方法步骤:
1、用windows身份验证登陆数据库,点击连接;
2、展开数据库服务器下面的管理SQL Server日志;
3、双击当前可以打开日志文件查看器里面有所有的运行日志;
4、点击任意一行,可以看见具体的信息,错误原因和时间;
5、勾选相应的复选框,可以筛选查看相应的日志内容;
6、点击筛选还可以详细筛选日志;
7、在SQL Server日志上单击右键,选择视图SQL Server和windows日志可以查看 *** 作系统日志;
8、如图所示,就可以查看到 *** 作日志了。
按以上步骤 *** 作即可以查看 *** 作日志。
以上就是关于在数据库中为什么先写日志文件后写数据库举例说明全部的内容,包括:在数据库中为什么先写日志文件后写数据库举例说明、如何配置log4j2日志记录至数据库、怎样查询访问数据库的日志等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)