Signup/Sign In

How to Change Log Level of Apache Web Server

    When we host our website using the Apache Webserver, we generally don't care about the log level of the Apache web server, which is set as notice log level, which means, all the logs for emerg, alert, crit, error, warn and notice are logged in either the access_log or error_log files.

    Before we learn how to change the log level, let's first see what are the various log levels that are available in the Apache webserver. In the table below we have listed all the log levels, in order of decreasing significance, which means, the first one is most important and the last one is least.

    Level Description
    emerg Shows emergencies that may have rendered the server unusable.
    alert Shows errors that must be solved immediately.
    crit Shows critical conditions.
    error Shows error conditions.
    warn Shows warning conditions, which are generally not errors, but issues that must be solved.
    notice Shows normal notices, information that can help fix future issues may be because of deprecated syntax, or non-declared variables, etc.
    info Shows informational messages.
    debug Shows debug level messages which can be used by developers to debug what is happening in the code.
    trace1 Trace messages.
    trace2 Trace messages.
    trace3 Trace messages.
    trace4 Trace messages.
    trace5 Trace messages.
    trace6 Trace messages.
    trace7 Trace messages.
    trace8 Trace messages.

    In the above table, we have all the log levels. When a particular log level is used, all the logs of more significance, those are the ones that lie above it in the table, are printed in the log file.

    For example, if we set the log level as info, then, notice, warnings, error, and other higher significance logs are printed in the log file.

    How to change Log level in Apache Webserver?

    To change the log level for the Apache webserver, we have to add the below line of code in the Apache webserver configuration file:

    LogLevel alert rewrite:warn

    In the above line, we have set the log level to warning.

    Below we have a sample Apache configuration file, where we have also used the ErrorLog configuration to change the log file location too, to a custom location.

    <VirtualHost *:80>
        RewriteEngine On
        LogLevel alert rewrite:warn
        ErrorLog "C:\Users\.....\Desktop\log.txt"
        ServerName .....
        DocumentRoot ....
        <Directory  ....>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Require local


    Here are some important FAQs related to the Apache server log level.

    What is the best log level for Apache Webserver?

    By default, the apache web server is set to notice log level, which means all the logs above this log level will be printed in the log files. That leads to two problems, one, the large size of log files, second, the apache webserver has to do a lot more work printing all these additional logs, which can make the webserver slow.

    Hence the right or the best or the appropriate log level should be error log level because then all the issues that need fixing will be logged in the log files, while warnings and notices will be skipped.

    Why change the Log level of Apache Server to debug?

    As a developer, you may want to set the log level of the Apache webserver to debug, to print logs in your application code to debug any error. Proper logging, can help developers debug issues easily in the application code.

    Can we use the .htaccess file to change the log level of the Apache Web server?

    No, we cannot use the .htaccess file to change the log level. To change the log levels, we have to configure it in the Apache webserver config file.


    I hope this article helps you in understanding how the log level can be changed for the Apache webserver, what are the various log levels available, and what is the right configuration when it comes to log levels.

    If you face any problem, please share it with us in the comment section below.

    You may also like:

    I like writing content about C/C++, DBMS, Java, Docker, general How-tos, Linux, PHP, Java, Go lang, Cloud, and Web development. I have 10 years of diverse experience in software development. Founder @ Studytonight