My final solution was to call this script on client-disconnect
#!/bin/bash
# logTraffic.sh: Generate a log entry with IT mandated fields
# 12/23/11 Tom Noonan II <Email Removed>
## Mandatory variables
sessionStart="UNSET"
clientHostAddress="UNSET"
clientUID="UNSET"
sessionDuration="UNSET"
txVolume="UNSET"
rxVolume="UNSET"
## Parse variables
if [ ! -z "$time_ascii" ]; then
sessionStart=$time_ascii
fi
if [ ! -z "$trusted_ip" ]; then
clientHostAddress=$trusted_ip
fi
if [ ! -z "$username" ]; then
clientUID=$username
fi
if [ ! -z "$time_duration" ]; then
sessionDuration=$time_duration
fi
if [ ! -z "$bytes_sent" ]; then
txVolume=$bytes_sent
fi
if [ ! -z "$bytes_received" ]; then
rxVolume=$bytes_received
fi
## Send to syslog
logger -t openvpn -- "Client Disconnect: Username: $clientUID HostIP: $clientHostAddress"
logger -t openvpn -- "Session Duration: $sessionDuration seconds opened at $sessionStart"
logger -t openvpn -- "Session Traffic: TX: $txVolume bytes RX: $rxVolume bytes"
That sends the info to syslog, so I can use syslog servers instead of log files.