读取指定位置的日志配置文件|如何查看mysql数据库的日志文件

⑴ 获取当前二进制日志文件所在的位置的正确命令是

通过配置参数log-bin[=name]可以启动二进制日志。如果不指定name,则默认二进制日志文件名为主机名,后缀名为二进制日志的序列号,所在路径为数据库所在目录(datadir)。二进制日志文件在默认情况下并没有启动,需要你手动指定参数来启动。可能有人会质疑,开启这个选项是否会对数据库整体性能有所影响。不错,开启这个选项的确会影响性能,但是性能的损失十分有限。根据MySQL官方手册中的测试表明,开启二进制日志会使得性能下降1%。但考虑到可以使用复(replication)和point-in-time的恢复,这些性能损失绝对是可以并且是应该被接受的。

⑵ 如何查看mysql数据库的日志文件

一.错误日志错误日志在Mysql数据库中很重要,它记录着mysqld启动和停止,以及服务器在运行过程中发生的任何错误的相关信息。1.配置信息–log-error=[file-name]用来指定错误日志存放的位置。如果没有指定[file-name],默认hostname.err做为文件名,默认存放在DATADIR目录中。也可以将log-error配置到my.cnf文件中,这样就省去了每次在启动mysqld时都手工指定–log-error.例如:[[email protected]]$ vi /etc/my.cnf# The MySQL server[mysqld]….log-error = /var/lib/mysql/test2_mysqld.err…..2.错误信息样板080313 05:21:55 mysqld started080313 5:21:55 InnoDB: Started; log sequence number 0 43655080313 5:21:55 [Note] /usr/local/mysql/bin/mysqld: ready for connections.Version: '5.0.26-standard-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Edition – Standard (GPL)080313 5:24:13 [Note] /usr/local/mysql/bin/mysqld: Normal shutdown080313 5:24:13 InnoDB: Starting shutdown…080313 5:24:16 InnoDB: Shutdown completed; log sequence number 0 43655080313 5:24:16 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete080313 05:24:16 mysqld ended080313 05:24:47 mysqld started080313 5:24:47 InnoDB: Started; log sequence number 0 43655080313 5:24:47 [Note] /usr/local/mysql/bin/mysqld: ready for connections.Version: '5.0.26-standard-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Edition – Standard (GPL)080313 5:33:49 [Note] /usr/local/mysql/bin/mysqld: Normal shutdown三.查询日志查询日志记录了clinet的所有的语句。Note:由于log日志记录了数据库所有操作,对于访问频繁的系统,此种日志会造成性能影响,建议关闭。1.配置信息–log=[file-name]用来指定错误日志存放的位置。如果没有指定[file-name],默认为主机名(hostname)做为文件名,默认存放在DATADIR目录中。也可以将log配置到my.cnf文件中,这样就省去了每次在启动mysqld时都手工指定–log.例如:# The MySQL server[mysqld]……#query-loglog = /var/lib/mysql/query_log.log……2.读取查询日志查询日志是纯文本格可,可以使用OS文本读取工具直接打开查看。例如:[[email protected]]$ tail -n 15 query_log.log080313 7:58:28 17 Query show tables080313 8:07:45 17 Quit080313 10:01:48 18 Connect [email protected] on080313 10:02:38 18 Query SELECT DATABASE()18 Init DB test080313 10:02:42 18 Query show tables080313 10:03:07 18 Query select * from pet080313 10:06:26 18 Query insert into pet values('hunter','yxyup','cat','f','1996-04-29',null)080313 10:06:39 18 Query select * from pet080313 10:07:13 18 Query update pet set sex='m' where name='hunter'080313 10:07:38 18 Query delete from pet where name='hunter'080313 10:13:48 18 Query desc test8080313 10:14:13 18 Query create table t1(id int,name char(10))080313 10:14:41 18 Query alter table t1 add sex char(2)[[email protected]]$四.慢查询日志慢查询日志是记录了执行时间超过参数long_query_time(单位是秒)所设定值的SQL语句日志。Note:慢查询日志对于我们发现性能有问题的SQL有很帮助,建议使用并经常分析1.配置信息–log-slow-queries=[file-name]用来指定错误日志存放的位置。如果没有指定[file-name],默认为hostname-slow.log做为文件名,默认存放在DATADIR目录中。也可以将log-slow-queries配置到my.cnf文件中,这样就省去了每次在启动mysqld时都手工指定–log-slow-queries.例如:# The MySQL server[mysqld]……#slow-query-loglog-slow-queries = /var/lib/mysql/slow_query_log.log……2.读取慢查询日志[[email protected]]$ cat slow_query_log.log/usr/local/mysql/bin/mysqld, Version: 5.0.26-standard-log. started with:Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sockTime Id Command Argument# Time: 080313 5:41:46# [email protected]: root[root] @ localhost []# Query_time: 108 Lock_time: 0 Rows_sent: 0 Rows_examined: 8738use test;select count(1) from t1 a, t1 b,t1 c where a.id=b.id and b.name=c.name;# Time: 080313 5:52:04# [email protected]: root[root] @ localhost []# Query_time: 583 Lock_time: 0 Rows_sent: 0 Rows_examined: 508521177select count(1) from t1 a, t1 b where a.id=b.id;/usr/local/mysql/bin/mysqld, Version: 5.0.26-standard-log. started with:Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sockTime Id Command Argument# Time: 080313 10:39:59# [email protected]: root[root] @ localhost []# Query_time: 11 Lock_time: 0 Rows_sent: 4537467 Rows_examined: 4537467use test;select id from tail;如果慢查询日志记录很多可以使用mysqlmpslow进行分类汇总[[email protected]]$ mysqlmpslow slow_query_log.logReading mysql slow query log from slow_query_log.logCount: 1 Time=583.00s (583s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhostselect count(N) from t1 a, t1 b where a.id=b.idCount: 1 Time=108.00s (108s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhostselect count(N) from t1 a, t1 b,t1 c where a.id=b.id and b.name=c.nameCount: 1 Time=11.00s (11s) Lock=0.00s (0s) Rows=4537467.0 (4537467), root[root]@localhostselect id from tail;mysql有以下几种日志: 错误日志: -log-err 查询日志: -log 慢查询日志: -log-slow-queries 更新日志: -log-update 二进制日志: -log-bin 在mysql的安装目录下,打开my.ini,在后面加上上面的参数,保存后重启mysql服务就行了。 例如: #Enter a name for the binary log. Otherwise a default name will be used. #log-bin= #Enter a name for the query log file. Otherwise a default name will be used. #log= #Enter a name for the error log file. Otherwise a default name will be used. log-error= #Enter a name for the update log file. Otherwise a default name will be used. #log-update= 查看日至:1. 首先确认你日志是否启用了mysql>show variables like 'log_bin';如果启用了,即ON那日志文件就在mysql的安装目录的data目录下cat/tail 日志文件名2. 怎样知道当前的日志mysql> show master status;3. 查看从某一段时间到某一段时间的日志mysqlbinlog –start-datetime='2008-01-19 00:00:00' –stop-datetime='2008-01-30 00:00:00' /var/log/mysql/mysql-bin.000006 > mysqllog1.log

⑶ org.slf4j 怎么读取log4j的配置文件

package com.slf4j.test;import org.slf4j.*;/** * * @author Tsingxu * */public class test { public static final Logger logger = LoggerFactory.getLogger(test.class); public static void main(String[] args){ System.setProperty("log4j.configuration", "log4j.properties"); test.logger.debug("test start…"); test.logger.error("test error…"); }}在选用 slf4j-api-1.6.4.jar + slf4j-jdk14-1.6.4.jar 时输出在控制台: 2011-11-6 21:55:18 com.slf4j.test.test main 严重: test error…在选用 slf4j-api-1.6.4.jar + slf4j-log4j12-1.6.4.jar + log4j-1.2.13.jar 时输出(前提是有相应的配置文件log4j.properties)到文件logs.log和errors.loglogs.log: 2011-11-06 21:59:33 [ main:0 ] – [ DEBUG ] test start… 2011-11-06 21:59:33 [ main:0 ] – [ ERROR ] test error…errors.log 2011-11-06 21:59:33 [ main:0 ] – [ ERROR ] test error…其中log4j.properties简要配置如下:log4j.debug=true log4j.rootLogger=DEBUG,D,E log4j.appender.E = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.E.File = logs/logs.loglog4j.appender.E.Append = truelog4j.appender.E.Threshold = DEBUGlog4j.appender.E.layout = org.apache.log4j.PatternLayoutlog4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] – [ %p ] %m%n#log4j.appender.E.layout.log4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = logs/error.loglog4j.appender.D.Append = truelog4j.appender.D.Threshold = ERRORlog4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] – [ %p ] %m%n下面讲一下log4j.properties的配置参数1 基本格式如下:#配置根Loggerlog4j.rootLogger = [ level ] , appenderName1 , appenderName2 , …#配置日志信息输出目的地Appenderlog4j.appender.appenderName = fully.qualified.name.of.appender.class log4j.appender.appenderName.option1 = value1 … log4j.appender.appenderName.optionN = valueN #配置日志信息的格式(布局)log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class log4j.appender.appenderName.layout.option1 = value1 … log4j.appender.appenderName.layout.optionN = valueN 其中 [ level ]日志输出级别共有五级FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 Appender 为日志输出目的地,Log4j提供的appender有以下几种:org.apache.log4j.ConsoleAppender(控制台),org.apache.log4j.FileAppender(文件),org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)Layout:日志输出格式,Log4j提供的layout有以下几种:org.apache.log4j.HTMLLayout(以HTML表格形式布局),org.apache.log4j.PatternLayout(可以灵活地指定布局模式),org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)打印参数: Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,如下: %m 输出代码中指定的消息%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL %r 输出自应用启动到输出该log信息耗费的毫秒数 %c 输出所属的类目,通常就是所在类的全名 %t 输出产生该日志事件的线程名 %n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n” %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},输出类似:2002年10月18日 22 : 10 : 28 , 921 %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:test.main(test.java: 10 ) 参数意义说明输出级别的种类ERROR 为严重错误 主要是程序的错误WARN 为一般警告,比如session丢失INFO 为一般要显示的信息,比如登录登出DEBUG 为程序的调试信息配置日志信息输出目的地log4j.appender.appenderName=??1.org.apache.log4j.ConsoleAppender(控制台)2.org.apache.log4j.FileAppender(文件)3.org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)4.org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)5.org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)配置日志信息的格式log4j.appender.appenderName.layout = ??1.org.apache.log4j.HTMLLayout(以HTML表格形式布局),2.org.apache.log4j.PatternLayout(可以灵活地指定布局模式),3.org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),4.org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)ConsoleAppender选项Threshold=DEBUG:指定日志消息的输出最低层次。ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。Target=System.err:默认情况下是:System.out,指定输出控制台FileAppender 选项Threshold=DEBUF:指定日志消息的输出最低层次。ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。File=mylog.txt:指定消息输出到mylog.txt文件。Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。RollingFileAppender 选项Threshold=DEBUG:指定日志消息的输出最低层次。ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。File=mylog.txt:指定消息输出到mylog.txt文件。Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。MaxBackupIndex=2:指定可以产生的滚动文件的最大数。日志信息格式中几个符号所代表的含义: -X号: X信息输出时左对齐; %p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL, %d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 %r: 输出自应用启动到输出该log信息耗费的毫秒数 %c: 输出日志信息所属的类目,通常就是所在类的全名 %t: 输出产生该日志事件的线程名 %l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main (TestLog4.java:10) %x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。 %%: 输出一个"%"字符 %F: 输出日志消息产生时所在的文件名称 %L: 输出代码中的行号 %m: 输出代码中指定的消息,产生的日志具体信息 %n: 输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"输出日志信息换行示例的配置文件 log4j.propertieslog4j.debug=true log4j.rootLogger=DEBUG,D,Elog4j.appender.E = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.E.File = logs/logs.loglog4j.appender.E.Append = truelog4j.appender.E.Threshold = DEBUGlog4j.appender.E.layout = org.apache.log4j.PatternLayoutlog4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] – [ %p ] %m%n#log4j.appender.E.layout.log4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = logs/error.loglog4j.appender.D.Append = truelog4j.appender.D.Threshold = ERRORlog4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] – [ %p ] %m%n加载配置文件时 控制台会显示log4j解析配置文件的过程 有错误会报错log4j: Parsing for [root] with value=[DEBUG,D,E].log4j: Level token is [DEBUG].log4j: Category root set to DEBUGlog4j: Parsing appender named "D".log4j: Parsing layout options for "D".log4j: Setting property [conversionPattern] to [%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] – [ %p ] %m%n].log4j: End of parsing for "D".log4j: Setting property [threshold] to [ERROR].log4j: Setting property [append] to [true].log4j: Setting property [file] to [logs/error.log].log4j: setFile called: logs/error.log, truelog4j: setFile endedlog4j: Appender [D] to be rolled at midnight.log4j: Parsed "D" options.log4j: Parsing appender named "E".log4j: Parsing layout options for "E".log4j: Setting property [conversionPattern] to [%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] – [ %p ] %m%n].log4j: End of parsing for "E".log4j: Setting property [file] to [logs/logs.log].log4j: Setting property [threshold] to [DEBUG].log4j: Setting property [append] to [true].log4j: setFile called: logs/logs.log, truelog4j: setFile endedlog4j: Appender [E] to be rolled at midnight.log4j: Parsed "E" options.log4j: Finished configuring.

⑷ log4j配置之后报错如何解决

步骤:

1、在Maven的porn.xml 文件中添加dependency如下。之后就会添加三个包。

⑸ 怎么给项目配置日志文件

您可以创建日志文件,并使其包含与互操作性、程序加载和网络有关的诊断信息。通过设置注册表项,可以启用日志记录。首先,设置一个注册表项以启用常规日志记录,然后针对所需的日志记录组件和选项来设置注册表项。可以使用下列方法设置注册表项:使用 Visual Studio 中的远程注册表编辑器。在 .NET Compact Framework 2.0 Service Pack 1 中,使用远程性能监视器中的日志记录选项。有关远程性能监视器的更多信息,请参见 如何:在运行时监视性能。在 .NET Compact Framework 3.5 中,可以使用日志记录工具 NetCFLogging.exe,该工具提供了用于启用和禁用日志记录的简单的图形用户界面。此工具包括在 Power Toys for .NET Compact Framework 中。有关更多信息,请参见 Power Toys for .NET Compact Framework。使用 Registry 和 RegistryKey 类,.NET Compact Framework 2.0 版及更高版本支持这些类。下表对这些日志文件进行了总结。日志记录组件日志文件内容互操作 记录 COM 互操作调用。提供有关平台调用和封送处理的信息。错误 记录所有未处理的异常和本机异常。将错误记录到日志文件和 OutputDebugString 中。将为位于当前路径的每个程序集创建日志文件,并将其应用于当前会话。在第一次出现未处理的异常或本机异常之后,将覆盖日志文件。加载程序 记录有关程序加载的信息。文件标头包含下列信息:应用程序名称。进程 ID(由 Windows Embedded CE 提供)。创建日志文件的本地日期和时间。其格式不是全局性的,而是区域性特定的。.NET Compact Framework 版本,例如 2.0.5021.00。与平台相关的信息,例如 Windows Embedded CE v5.0.1400 (CEPC) WinCE5x86 debug Dev i386 IJITv2。文件提供以下信息:强制状态(兼容性模式)。加载模块时为模块指定的信任级别。解析方法时失败。解析类型时失败。查找或加载程序集或模块时失败。程序集加载成功。无效的元数据版本。查找平台调用 DLL 时失败。在平台调用 DLL 中查找函数时失败。策略文件的名称,或者指出缺少该文件的事实。策略文件处理过程中的主要错误。托管程序集基于策略的重定向。此外,还可以包括有关全局程序集缓存的信息。网络 记录网络流量。网络日志文件是二进制文件,如果没有 .NET Compact Framework 日志查看器 Logviewer.exe,则无法访问该文件。在 .NET Compact Framework 3.5 及更高版本中,该日志查看器包含在 Power Toys for .NET Compact Framework 中。有关更多信息,请参见 Power Toys for .NET Compact Framework。由于网络日志记录发生在 Windows 套接字层,因此日志文件只包含网络数据包信息。这包括通过网络发送的数据,其中有些可能是敏感数据,因而需要进行加密。终结器 记录在垃圾回收器丢弃对象之前未释放这些对象的类名。.NET Compact Framework 3.5 及更高版本支持此日志。对象名不包含在日志中,原因是这些名称对于公共语言运行时 (CLR) 不可用。但是,未释放的对象的类名有助于识别这些对象。未释放的对象在应用程序中可能造成性能问题。说明:某些情况下,调用终结器的是 .NET Compact Framework 而不是应用程序代码。此文件包含以下信息:指示终结器何时对对象运行垃圾回收器的时间戳。被终结对象的类。跟踪 记录 Windows Communication Foundation (WCF) 的代码异常。桌面 .NET Framework 支持三种日志记录:跟踪、消息处理和事件日志记录。.NET Compact Framework 上的 WCF 只支持通过跟踪日志记录来跟踪代码异常,但它不记录警告和错误消息。.NET Compact Framework 3.5 及更高版本支持此日志。默认情况下,系统会将日志文件写入包含被诊断的应用程序的目录。但是,您可以使用注册表项指定路径和其他选项,如下所示:使用其他路径写入日志文件。这需要安全注册表的访问权限。在日志文件名中包含应用程序名称。在日志文件名中包含进程 ID。日志文件名由以下几部分组成,其中组件 可以是“互操作”、“错误”、“加载程序”或“网络”、“终结器”或“跟踪”:netcf_应用程序名称_组件_进程 ID.log应用程序名称和进程 ID 为可选项,它们基于注册表设置。例如,对于名为 MyApp.exe 的应用程序,其加载程序日志文件可命名如下:netcf_MyApp_Loader_2066923010.log有关如何检查互操作日志文件和加载程序日志文件等日志文件的信息,请参见 日志文件信息。启用日志记录将以下 Enabled 项的值设置为 1:HKLM\Software\Microsoft\.NETCompactFramework\Diagnostics\Logging\Enabled必须设置此项值才能启用六种日志记录:互操作、加载程序、错误、网络、终结器和跟踪。请注意,默认情况下,Logging 下的子项并不存在。可以通过将此值设置为 0(零)来关闭所有日志记录。指定日志文件路径(可选)将以下 Path 项的值设置为表示日志文件位置的字符串:HKLM\Security\.NETCompactFramework\Diagnostics\Logging\Path此项只能通过可写入安全注册表的应用程序来访问。如果未指定路径,系统会将日志文件写入包含应用程序的目录。在名称中包含应用程序(可选)将以下 UseApp 项的值设置为 1:HKLM\Software\Microsoft\.NETCompactFramework\Diagnostics\Logging\UseApp如果要运行多个应用程序并为每个应用程序获取单独的日志文件,则可以使用此项。如果有两个应用程序将日志文件写入同一目录,则当第二个应用程序运行时,较早的日志文件始终会被较新的日志文件覆盖。UseApp 项可以用作日志文件的区分符。在名称中包含进程 ID(可选)将以下 UsePid 项的值设置为 1:HKLM\Software\Microsoft\.NETCompactFramework\Diagnostics\Logging\UsePid如果要多次运行同一个应用程序并为每个实例创建单独的日志,则可以使用此项。此设置会在日志文件名中添加进程 ID,以使应用程序的每个实例都能用不同的名称创建新日志文件。在事件发生时记录事件(可选)将以下 Flush 项的值设置为 1:HKLM\Software\Microsoft\.NETCompactFramework\Diagnostics\Logging\Flush设置此值后,公共语言运行时 (CLR) 便会在事件发生时立即将日志事件写入日志文件,而不是先将事件保存在缓冲区中,并在写满缓冲区时才写入日志文件。此设置会给应用程序的性能带来负面影响,并可能稍稍修改应用程序的计时。但是,它有助于诊断与应用程序故障或其他错误有关的问题,因为您可能需要查看导致错误的最后几个事件。如果不存在或未设置此项,则系统将只有在写满缓冲区后,才会向日志文件写入数据。

⑹ C#里面怎么使用配置文件

就在配置文件的appsetting里面写然后,页面用就可以了如:数据库连接, web.config中<connectionStrings> <add name="CorporationInviteCon" connectionString="Data Source=.;Initial Catalog=CorporationInvite;Integrated Security=True"/> </connectionStrings>然后调用的时候,引用:System.Configuration再 ConfigurationManager.ConnectionStrings["CorporationInviteCon"].ConnectionString;获得连接..之类的再例如,发送邮件,也可以在里面配置,之后:System.Configuration.ConfigurationManager.AppSettings["EmailFrom"];获得发件人地址一样的


赞 (0)