Apache Log Files

by Vivek Gite on June 8, 2008 · 16 comments

Q. How do I find out Apache http server log files location? How do I change the location of Apache log file under Linux / UNIX operating system?

A. There are two type of apache httpd server log files:

Apache Error Log File

All apache errors / diagnostic information other errors found during serving requests are logged to this file. Location of error log is set using ErrorLog directive. If there is any problem, you should first take a look at this file using cat, grep or any other UNIX / Linux text utilities. This apache log file often contain details of what went wrong and how to fix it. Default error log file location:

  • RHEL / Red Hat / CentOS / Fedora Linux Apache error file location - /var/log/httpd/error_log
  • Debian / Ubuntu Linux Apache error log file location - /var/log/apache2/error.log
  • FreeBSD Apache error log file location - /var/log/httpd-error.log

To find exact apache log file location, you can use grep command:
# grep ErrorLog /usr/local/etc/apache22/httpd.conf
# grep ErrorLog /etc/apache2/apache2.conf
# grep ErrorLog /etc/httpd/conf/httpd.conf

Sample output:

# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a 
ErrorLog "/var/log/httpd-error.log"

Apache Access Log File

Apache server records all incoming requests and all requests processed to a log file. The format of the access log is highly configurable. The location and content of the access log are controlled by the CustomLog directive. Default apache access log file location:

  • RHEL / Red Hat / CentOS / Fedora Linux Apache access file location - /var/log/httpd/access_log
  • Debian / Ubuntu Linux Apache access log file location - /var/log/apache2/access.log
  • FreeBSD Apache access log file location - /var/log/httpd-access.log

To find exact apache log file location, you can use grep command:
# grep CustomLog /usr/local/etc/apache22/httpd.conf
# grep CustomLog /etc/apache2/apache2.conf
# grep CustomLog /etc/httpd/conf/httpd.conf

Sample output:

  # a CustomLog directive (see below).
    #CustomLog "/var/log/httpd-access.log" common
    CustomLog "/var/log/httpd-access.log" combined

How do I change Apache log file location?

Simply edit apache configuration file and change the location. You need define new location using CustomLog or ErrorLog:

ErrorLog "/home/httpd/cyberciti.biz/rawlogs/httpd-error.log"
CustomLog "/home/httpd/cyberciti.biz/rawlogs/httpd-access.log" combined

Save and close the file. Restart httpd:
# service httpd restart

Featured Articles:

Share this with other sys admins!
Facebook it - Tweet it - Print it -

{ 16 comments… read them below or add one }

1 r00tUser June 14, 2008

You can also use the following command to find the log files if the apache instance is running.

lsof -p |grep -i logs

This would give the access and the error logs.

Cheers,
rOOtUser

Reply

2 john kamenos October 26, 2011

thanks

Reply

3 r00tUser June 14, 2008

Disregard the previous command.

lsof -p pid-of-httpd | grep -i logs

Reply

4 Uncle Weasel January 6, 2011

Good one r00tUser that is a neat one-liner.

Reply

5 AHmed December 15, 2008

Thank you too much

Reply

6 Arif August 26, 2009

how to learn the number of requests for a file in apache logs?

thanks.

Reply

7 THOTA SIVA PRASAD October 22, 2009

i want log file formats for server log,access log,user log,browser log,proxy log ,error log ect.

Reply

8 robert August 9, 2010

How can I move my /var/log directory to RAM (tmpfs) and not have Apache fail to load because it can’t find “error.log” when I reboot?

Reply

9 Techie September 6, 2010

Thanks. I didn’t know where the logs were and I just wanted to manually look through the access log.

Reply

10 Tasman Hayes March 8, 2011

Thanks for covering the the Apache log file locations for Red Hat, CentOS and Ubuntu. Very useful!

Reply

11 Joe Johnson June 27, 2011

Excellent guide; thank you very much!

Reply

12 Rakshtiha Megha July 18, 2011

Hi,
wat are the different command to retrive the contents of Server LOG file and fhow do it accecc the contens of Serevr LOG file.

Reply

13 ebi July 22, 2011

Forbidden

You don’t have permission to access / on this server.

Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.

Reply

14 Shruthi November 23, 2011

Hi,

Please help me out with this Apache Log file settings that i want to achieve:
1. The Log file size should be restricted to 100 MB
2. Once the log file reaches 100 MB, it should create a new log file
3. Maximum we should be backing up 10 log files.

I need this on urgent basis, please help

Reply

15 TonyRiver December 29, 2011

Is this the same in CentOS, Fedora, and Redhat?

Reply

16 tony b January 26, 2012

What would a file called _PO.log be?

Reply

Leave a Comment

You can use these HTML tags and attributes for your code and commands: <strong> <em> <ol> <li> <u> <ul> <blockquote> <pre> <a href="" title="">




Previous post:

Next post: