1、Weblogic
weblogic在安装结束后默认开启了日志记录功能,默认配置情况下,weblogic会有3种日志,分别是access log
, Server log
和domain log
,WebLogic8.x 和 9及以后的版本目录结构有所不同。
WebLogic 9及以后版本日志路径
- access log路径如下:
$MW_HOME\user_projects\domains\<domain_name>\servers\<server_name>\logs\access.log
- server log路径如下:
$MW_HOME\user_projects\domains\<domain_name>\servers\<server_name>\logs\<server_name>.log
- domain log路径如下:
$MW_HOME\user_projects\domains\<domain_name>\servers\<adminserver_name>\logs\<domain_name>.log
WebLogic 8.x版本日志路径
- access log路径如下:
$MW_HOME\user_projects\domains\<domain_name>\<server_name>\access.log
- server log路径如下:
$MW_HOME\user_projects\domains\<domain_name>\<server_name>\<server_name>.log
- domain log路径如下:
$MW_HOME\user_projects\domains\<domain_name>\<domain_name>.log
解释
$MW_HOME
是WebLogic的安装目录<domain_name>
是域的实际名称,是在创建域的时候指定的<server_name>
是Server的实际名称,是在创建Server的时候指定的<adminserver_name>
是Admin Server的实际名称,是在创建Admin Server的时候指定的。access.log: 主要记录http请求,默认情况下日志记录处于启用状态,服务器将http请求保存在单独的日志文件中,日志格式如下,主要记录了http请求请求ip地址、请求时间、访问页面、响应状态等信息。
server log: 主要用于服务器的一般日志记录,比如weblogic的启动、关闭、部署应用等相关记录,日志格式:依次为时间戳,严重程度,子系统,计算机名,服务器名,线程ID。
domain log: 主要记录了一个domain的运行情况,一个domain中的各个weblogic server 可以把它们的一些信息(如:严重错误)发送到AdminServer上,AdminServer把这些信息传递到domain.log上。
2、Tomcat
日志路径
# 获取tomcat安装目录
whereis tomcat
# 日志
安装目录/logs
注:如果在安装中默认修改了日志存储位置,可在 conf/logging.properties
文件中查看
tomcat日志一般分为4种格式日志
- catalina.out
- localhost
- manager
- localhost_access_log
解释
localhost_access_log: 主要记录访问日志信息,记录访问的的时间、ip地址等信息,也是应急中经常用到的日志信息。
此部分日志可通过查看 conf/server.xml
文件的如下内容,来确定是否启用了访问日志记录。
catalina.out: 运行中的日志,主要记录运行中产生的一些信息,尤其是一些异常错误日志信息。
catalina.Y-M-D.log: 是tomcat自己运行的一些日志,这些日志还会输出到catalina.out,但是应用向console输出的日志不会输出到catalina.{yyyy-MM-dd}.log
localhost.Y-M-D.log: 程序异常没有被捕获的时候抛出的地方,Tomcat下内部代码丢出的日志(jsp页面内部错误的异常,org.apache.jasper.runtime.HttpJspBase.service类丢出的,日志信息就在该文件!),应用初始化(listener,filter, servlet)未处理的异常最后被tomcat捕获而输出的日志,而这些未处理异常最终会导致应用无法启动。
manager.Y-M-D.log: 管理日志
3、Apache
Ubuntu日志路径
默认情况下
/var/log/apache2/*
有修改
# 获取日志路径 cat /etc/apache2/sites-available/*.conf | grep CustomLog cat /etc/apache2/envvars | grep APACHE_LOG_DIR
CentOS日志路径
默认情况下
/var/log/httpd/* /etc/httpd/logs/*
有修改
cat /etc/httpd/conf/httpd.conf | grep -E "CustomLog|ErrorLog"
解释
access_log: 访问日志,记录所有对apache服务器进行请求的访问
error_log: 错误日志,记录下任何错误的处理请求,通常服务器出现什么错误,可对该日志进行查看
4、Nginx
日志路径
- 方法一:执行以下命令查询日志路径
find / -name "nginx.conf"
cat /etc/nginx/nginx.conf | grep access_log
- 方法二:执行命令
nginx -V
解释
access.log: 主要记录访问日志,记录访问客户端ip地址、访问时间、访问页面等信息。
error.log: 主要记录一些错误信息。
5、IIS
日志路径
默认为 %SystemDrive%\inetpub\logs\LogFiles
参考自:
6、JBOSS
日志路径
JBOSS默认的日志存放在 {jboss.server.log.dir}/server.log
目录下,如 D:\jboss-eap-4.3\jboss-as\server\slim\log\
如果没有,可能是修改过,找到配置文件 jboss-log4j.xml
,路径如 D:\jboss-eap-4.3\jboss-as\server\slim\conf\jboss-log4j.xml
定位到如下内容,其中的 value 就是日志保存的路径:
<param name="File" value="${jboss.server.log.dir}/server.log"/>
7、技巧:快速定位日志
日志一般都是有特征的
- 要不命名为
access.log
、xxx.log
- 要不内容中包含了目标域名
- 要不定位到配置文件再去找
# Linux
find / -name "*access_log*"
find / -name "*access.log"
find / -name "*access_*.log"
grep -rl "xxx.com" # 快速找到这个站的配置文件,nginx反向代理找日志、web目录什么的
# Windows
Get-ChildItem -Path C:\ -Recurse -Filter "*access_log*"
Get-ChildItem -Path C:\ -Recurse -File | Select-String -Pattern "xxx.com" | Select-Object -ExpandProperty Path | Sort-Object -Unique