logswan.1 (2546B)
1 .\" 2 .\" Copyright (c) 2015-2022, Frederic Cambus 3 .\" All rights reserved. 4 .\" 5 .\" Redistribution and use in source and binary forms, with or without 6 .\" modification, are permitted provided that the following conditions are met: 7 .\" 8 .\" * Redistributions of source code must retain the above copyright 9 .\" notice, this list of conditions and the following disclaimer. 10 .\" 11 .\" * Redistributions in binary form must reproduce the above copyright 12 .\" notice, this list of conditions and the following disclaimer in the 13 .\" documentation and/or other materials provided with the distribution. 14 .\" 15 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 16 .\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 19 .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 20 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 21 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 24 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 25 .\" POSSIBILITY OF SUCH DAMAGE. 26 .\" 27 .Dd $Mdocdate: May 6 2022 $ 28 .Dt LOGSWAN 1 29 .Os 30 .Sh NAME 31 .Nm logswan 32 .Nd fast Web log analyzer using probabilistic data structures 33 .Sh SYNOPSIS 34 .Nm 35 .Op Fl ghv 36 .Op Fl d Ar db 37 .Ar logfile 38 .Sh DESCRIPTION 39 .Nm 40 is a fast Web log analyzer using probabilistic data structures. 41 It is targeted at very large log files, typically APIs logs. 42 It has constant memory usage regardless of the log file size, and takes 43 approximatively 4MB of RAM. 44 .Pp 45 Unique visitors counting is performed using two HyperLogLog counters (one for 46 IPv4, and another one for IPv6), providing a relative accuracy of 0.10%. 47 .Pp 48 If 49 .Ar file 50 is a single dash (`-'), 51 .Nm 52 reads from the standard input. 53 .Pp 54 The options are as follows: 55 .Bl -tag -width Ds 56 .It Fl d Ar db 57 Specify path to a GeoIP database. 58 .It Fl g 59 Enable GeoIP lookups. 60 .It Fl h 61 Display usage. 62 .It Fl v 63 Display version. 64 .El 65 .Sh EXAMPLES 66 The following script can be used to process all log files in the current 67 directory and save the output in a file: 68 .Bd -literal -offset indent 69 #!/bin/sh 70 for file in $(ls *.log) 71 do 72 logswan $file > $file.json 73 done 74 exit 0 75 .Ed 76 .Sh AUTHORS 77 .Nm 78 was written by 79 .An Frederic Cambus .