diff --git a/src/sbin/opnsense-log b/src/sbin/opnsense-log index 2381e3dca..6846dfe20 100755 --- a/src/sbin/opnsense-log +++ b/src/sbin/opnsense-log @@ -23,10 +23,42 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. +DO_COMMAND=cat +DO_LIST= + +while getopts fl OPT; do + case ${OPT} in + f) + DO_COMMAND="tail -F -n0" + ;; + l) + DO_LIST="-l" + ;; + *) + echo "Usage: man ${0##*/}" >&2 + exit 1 + ;; + esac +done + +shift $((${OPTIND} - 1)) + LOGTYPE=${1:-system} -# XXX small POC for now, possible target list via -# -# find /var/log -name latest.log +LOGFILE="/var/log/${LOGTYPE}/latest.log" +LOGLIST=$(find -s /var/log -name latest.log) -tail -f "/var/log/${LOGTYPE}/latest.log" +if [ -n "${DO_LIST}" ]; then + for LOG in ${LOGLIST}; do + DIR=$(dirname ${LOG}) + echo ${DIR##*/} + done + exit +fi + +if [ ! -e "${LOGFILE}" ]; then + echo "No corresponding log '${LOGTYPE}' was found." >&2 + exit 1 +fi + +${DO_COMMAND} "${LOGFILE}"