How do I view logs from multiple virtual hosts with logwatch on Ubuntu 14.04?

Currently I have logwatch running, and via cron job it will send an email to me each evening. In the email it will list the http requests, however, it is not possible to see which virtual host they come from. For example I a report will say:

Requests with error response codes 403 Forbidden /wp-content/uploads/: 2 Time(s)

It would be better if it said:

Requests with error response codes 403 Forbidden 2 Time(s)

Any ideas?


Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Thanks for this, very useful. At least, the \"%m %{Host}i%U%q %H\" part is, but while changing the combined log format, you’ve also converted it to the common format, while still calling it combined.

If you want to use it as you have it here, it should really be called common, since that is what it’s based on, just adding the host. As in, you lost the %O \"%{Referer}i\" \"%{User-Agent}i\" part from the end of combined and replaced it with %b from common.

Here it is for each, and more in line with the standard Apache setup, except for adding the host in the same way:

LogFormat "%h %l %u %t \"%m %{Host}i%U%q %H\" %>s %b" common

LogFormat "%h %l %u %t \"%m %{Host}i%U%q %H\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

It seems I have answered my own question. I changed this line in apache2.conf:

LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

into this:

LogFormat "%h %l %u %t \"%m %{Host}i%U%q %H\" %>s %b" combined