Blackbox Logs

Alan Gutierrez alan at
Thu Jun 17 19:59:27 MSD 2010

I attempted to get a discussion going on regarding  
"blackbox" logs and Nginx. It didn't get the response I imagined, and  
I was told to ask here.

Here is an article about "blackbox" logs in Apache by Chris Josephes  
from 2004.

I've always kept these logs around on my Apache servers and they have  
come in handy. I'm trying to recreate them for Nginx. Here is the  
Apache format.

LogFormat "%a/%S %X %t \"%r\" %s/%>s %{pid}P/%{tid}P %T/%D %I/%O/%B"  

Here's what Nginx blackbox format would look like, the unmapped Apache  
directives have question marks after their names.
access_log blackbox '$remote_addr/$remote_port X? [$time_local]  
                     's?/$status $pid/0 T?/D? I?/$bytes_sent/ 
Here's a table of the variables I've been able to map from the Nginx  
%a = $remote_addr - The IP address of the remote client.
%S = $remote_port - The port of the remote client.
%X = ? - Keep alive status.
%t = $time_local - The start time of the request.
%r = $request - The first line of request containing method verb, path  
and protocol.
%s = ? - Status before any redirections.
%>s = $status - Status after any redirections.
%{pid}P = $pid - The process id.
%{tid}P = N/A - The thread id, which is non-applicable to Nignx.
%T = ? - The time in seconds to handle the request.
%D = $request_time - The time in milliseconds to handle the request.
%I = ? - The count of bytes received including headers.
%O = $bytes_sent - The count of bytes sent including headers.
%B = $body_bytes_sent - The count of bytes sent excluding headers, but  
with a 0 for none instead of '-'.
So, I'm missing %I bytes received and %X keep alive status. The  
timings are off, but I don't mind.
Nginx doesn't to milliseconds like Apache, but rather seconds with  
millisecond precision. Making the log format exactly like the Apache  
blackbox log format would be a nice exercise, but it is not  
imperative.  If Nginx can do simple adjustments using multiplication  
that would be cool, but I haven't tried it yet, nor have I seen any  
examples of it.
Alan Gutierrez -

More information about the nginx mailing list