commit c5849c81387c873c48f3293baff941985dba2a32
parent 4a9532b0b3552f462cf9ff25570f381e838c9151
Author: Frederic Cambus <fred@statdns.com>
Date: Mon, 10 Dec 2018 12:02:21 +0100
Add an example log file and run logswan -g logswan.log
Diffstat:
2 files changed, 70 insertions(+), 1212 deletions(-)
diff --git a/examples/logswan.json b/examples/logswan.json
@@ -1,1300 +1,123 @@
{
- "date": "2016-01-01 15:26:57",
- "generator": "Logswan 1.03",
- "file_name": "access.log",
- "file_size": 51768298953,
- "processed_lines": 442575959,
+ "date": "2018-12-10 11:57:43",
+ "generator": "Logswan 2.0.3",
+ "file_name": "logswan.log",
+ "file_size": 4967,
+ "processed_lines": 34,
"invalid_lines": 0,
- "bandwidth": 281438771929,
- "runtime": 822.05192,
+ "bandwidth": 296374,
+ "runtime": 0.018140832999999999,
"hits": {
- "ipv4": 381901625,
- "ipv6": 60674334,
- "total": 442575959
+ "ipv4": 34,
+ "ipv6": 0,
+ "total": 34
},
"visits": {
- "ipv4": 557049,
- "ipv6": 83514,
- "total": 640563
+ "ipv4": 7,
+ "ipv6": 0,
+ "total": 7
},
"continents": [
{
- "data": "AF",
- "name": "Africa",
- "hits": 448112
- },
- {
- "data": "AS",
- "name": "Asia",
- "hits": 15801688
- },
- {
"data": "EU",
"name": "Europe",
- "hits": 73003833
+ "hits": 14
},
{
"data": "NA",
"name": "North America",
- "hits": 348599622
+ "hits": 14
},
{
"data": "OC",
"name": "Oceania",
- "hits": 2920428
- },
- {
- "data": "SA",
- "name": "South America",
- "hits": 1730953
+ "hits": 6
}
],
"countries": [
{
- "data": "--",
- "name": "N/A",
- "hits": 3493
- },
- {
- "data": "AP",
- "name": "Asia/Pacific Region",
- "hits": 1421
- },
- {
- "data": "EU",
- "name": "Europe",
- "hits": 207907
- },
- {
- "data": "AD",
- "name": "Andorra",
- "hits": 49
- },
- {
- "data": "AE",
- "name": "United Arab Emirates",
- "hits": 36484
- },
- {
- "data": "AF",
- "name": "Afghanistan",
- "hits": 693
- },
- {
- "data": "AG",
- "name": "Antigua and Barbuda",
- "hits": 889
- },
- {
- "data": "AI",
- "name": "Anguilla",
- "hits": 35
- },
- {
- "data": "AL",
- "name": "Albania",
- "hits": 16625
- },
- {
- "data": "AM",
- "name": "Armenia",
- "hits": 1498
- },
- {
- "data": "CW",
- "name": "Curacao",
- "hits": 1883
- },
- {
- "data": "AO",
- "name": "Angola",
- "hits": 2863
- },
- {
- "data": "AR",
- "name": "Argentina",
- "hits": 137557
- },
- {
- "data": "AT",
- "name": "Austria",
- "hits": 151039
- },
- {
"data": "AU",
"name": "Australia",
- "hits": 2156658
- },
- {
- "data": "AW",
- "name": "Aruba",
- "hits": 259
- },
- {
- "data": "AZ",
- "name": "Azerbaijan",
- "hits": 3633
- },
- {
- "data": "BA",
- "name": "Bosnia and Herzegovina",
- "hits": 16079
- },
- {
- "data": "BB",
- "name": "Barbados",
- "hits": 2296
- },
- {
- "data": "BD",
- "name": "Bangladesh",
- "hits": 51338
- },
- {
- "data": "BE",
- "name": "Belgium",
- "hits": 107093
- },
- {
- "data": "BF",
- "name": "Burkina Faso",
- "hits": 693
- },
- {
- "data": "BG",
- "name": "Bulgaria",
- "hits": 47103
- },
- {
- "data": "BH",
- "name": "Bahrain",
- "hits": 2996
- },
- {
- "data": "BI",
- "name": "Burundi",
- "hits": 1281
- },
- {
- "data": "BJ",
- "name": "Benin",
- "hits": 539
- },
- {
- "data": "BM",
- "name": "Bermuda",
- "hits": 3332
- },
- {
- "data": "BN",
- "name": "Brunei Darussalam",
- "hits": 4053
- },
- {
- "data": "BO",
- "name": "Bolivia",
- "hits": 15498
- },
- {
- "data": "BR",
- "name": "Brazil",
- "hits": 1069411
- },
- {
- "data": "BS",
- "name": "Bahamas",
- "hits": 2422
- },
- {
- "data": "BT",
- "name": "Bhutan",
- "hits": 280
- },
- {
- "data": "BW",
- "name": "Botswana",
- "hits": 434
- },
- {
- "data": "BY",
- "name": "Belarus",
- "hits": 19761
- },
- {
- "data": "BZ",
- "name": "Belize",
- "hits": 805
- },
- {
- "data": "CA",
- "name": "Canada",
- "hits": 71968841
- },
- {
- "data": "CD",
- "name": "Congo, The Democratic Republic of the",
- "hits": 196
- },
- {
- "data": "CG",
- "name": "Congo",
- "hits": 119
- },
- {
- "data": "CH",
- "name": "Switzerland",
- "hits": 754726
- },
- {
- "data": "CI",
- "name": "Cote D'Ivoire",
- "hits": 1225
- },
- {
- "data": "CL",
- "name": "Chile",
- "hits": 55860
- },
- {
- "data": "CM",
- "name": "Cameroon",
- "hits": 2751
- },
- {
- "data": "CN",
- "name": "China",
- "hits": 914193
- },
- {
- "data": "CO",
- "name": "Colombia",
- "hits": 230363
- },
- {
- "data": "CR",
- "name": "Costa Rica",
- "hits": 18802
- },
- {
- "data": "CU",
- "name": "Cuba",
- "hits": 1624
- },
- {
- "data": "CV",
- "name": "Cape Verde",
- "hits": 21
- },
- {
- "data": "CY",
- "name": "Cyprus",
- "hits": 5404
- },
- {
- "data": "CZ",
- "name": "Czech Republic",
- "hits": 17002601
+ "hits": 6
},
{
"data": "DE",
"name": "Germany",
- "hits": 4607953
- },
- {
- "data": "DJ",
- "name": "Djibouti",
- "hits": 49
- },
- {
- "data": "DK",
- "name": "Denmark",
- "hits": 645974
- },
- {
- "data": "DM",
- "name": "Dominica",
- "hits": 3808
- },
- {
- "data": "DO",
- "name": "Dominican Republic",
- "hits": 20307
- },
- {
- "data": "DZ",
- "name": "Algeria",
- "hits": 23667
- },
- {
- "data": "EC",
- "name": "Ecuador",
- "hits": 34741
- },
- {
- "data": "EE",
- "name": "Estonia",
- "hits": 33957
- },
- {
- "data": "EG",
- "name": "Egypt",
- "hits": 95823
- },
- {
- "data": "ER",
- "name": "Eritrea",
- "hits": 42
- },
- {
- "data": "ES",
- "name": "Spain",
- "hits": 523803
- },
- {
- "data": "ET",
- "name": "Ethiopia",
- "hits": 1414
- },
- {
- "data": "FI",
- "name": "Finland",
- "hits": 5176164
- },
- {
- "data": "FJ",
- "name": "Fiji",
- "hits": 770
- },
- {
- "data": "FM",
- "name": "Micronesia, Federated States of",
- "hits": 105
- },
- {
- "data": "FO",
- "name": "Faroe Islands",
- "hits": 8358
+ "hits": 1
},
{
"data": "FR",
"name": "France",
- "hits": 3483081
- },
- {
- "data": "SX",
- "name": "Sint Maarten (Dutch part)",
- "hits": 994
- },
- {
- "data": "GA",
- "name": "Gabon",
- "hits": 70
- },
- {
- "data": "GB",
- "name": "United Kingdom",
- "hits": 14513198
- },
- {
- "data": "GD",
- "name": "Grenada",
- "hits": 77
- },
- {
- "data": "GE",
- "name": "Georgia",
- "hits": 4389
- },
- {
- "data": "GH",
- "name": "Ghana",
- "hits": 11487
- },
- {
- "data": "GI",
- "name": "Gibraltar",
- "hits": 91
- },
- {
- "data": "GL",
- "name": "Greenland",
- "hits": 147
- },
- {
- "data": "GM",
- "name": "Gambia",
- "hits": 7
- },
- {
- "data": "GN",
- "name": "Guinea",
- "hits": 756
- },
- {
- "data": "GP",
- "name": "Guadeloupe",
- "hits": 1092
- },
- {
- "data": "GQ",
- "name": "Equatorial Guinea",
- "hits": 14
- },
- {
- "data": "GR",
- "name": "Greece",
- "hits": 118643
- },
- {
- "data": "GT",
- "name": "Guatemala",
- "hits": 17927
- },
- {
- "data": "GU",
- "name": "Guam",
- "hits": 77
- },
- {
- "data": "GW",
- "name": "Guinea-Bissau",
- "hits": 21
- },
- {
- "data": "GY",
- "name": "Guyana",
- "hits": 980
- },
- {
- "data": "HK",
- "name": "Hong Kong",
- "hits": 164948
- },
- {
- "data": "HN",
- "name": "Honduras",
- "hits": 7938
- },
- {
- "data": "HR",
- "name": "Croatia",
- "hits": 92302
- },
- {
- "data": "HT",
- "name": "Haiti",
- "hits": 700
- },
- {
- "data": "HU",
- "name": "Hungary",
- "hits": 779807
- },
- {
- "data": "ID",
- "name": "Indonesia",
- "hits": 249606
- },
- {
- "data": "IE",
- "name": "Ireland",
- "hits": 490483
- },
- {
- "data": "IL",
- "name": "Israel",
- "hits": 296016
- },
- {
- "data": "IN",
- "name": "India",
- "hits": 1977689
- },
- {
- "data": "IQ",
- "name": "Iraq",
- "hits": 23023
- },
- {
- "data": "IR",
- "name": "Iran, Islamic Republic of",
- "hits": 123760
- },
- {
- "data": "IS",
- "name": "Iceland",
- "hits": 23667
- },
- {
- "data": "IT",
- "name": "Italy",
- "hits": 2723224
- },
- {
- "data": "JM",
- "name": "Jamaica",
- "hits": 668514
- },
- {
- "data": "JO",
- "name": "Jordan",
- "hits": 120218
- },
- {
- "data": "JP",
- "name": "Japan",
- "hits": 2216788
- },
- {
- "data": "KE",
- "name": "Kenya",
- "hits": 30310
- },
- {
- "data": "KG",
- "name": "Kyrgyzstan",
- "hits": 931
- },
- {
- "data": "KH",
- "name": "Cambodia",
- "hits": 4137
- },
- {
- "data": "KN",
- "name": "Saint Kitts and Nevis",
- "hits": 63
- },
- {
- "data": "KR",
- "name": "Korea, Republic of",
- "hits": 1487990
- },
- {
- "data": "KW",
- "name": "Kuwait",
- "hits": 13692
- },
- {
- "data": "KY",
- "name": "Cayman Islands",
- "hits": 448
- },
- {
- "data": "KZ",
- "name": "Kazakhstan",
- "hits": 16254
- },
- {
- "data": "LA",
- "name": "Lao People's Democratic Republic",
- "hits": 1022
- },
- {
- "data": "LB",
- "name": "Lebanon",
- "hits": 125090
- },
- {
- "data": "LC",
- "name": "Saint Lucia",
- "hits": 217
- },
- {
- "data": "LI",
- "name": "Liechtenstein",
- "hits": 8967
- },
- {
- "data": "LK",
- "name": "Sri Lanka",
- "hits": 12880
- },
- {
- "data": "LR",
- "name": "Liberia",
- "hits": 588
- },
- {
- "data": "LS",
- "name": "Lesotho",
- "hits": 98
- },
- {
- "data": "LT",
- "name": "Lithuania",
- "hits": 67053
- },
- {
- "data": "LU",
- "name": "Luxembourg",
- "hits": 387758
- },
- {
- "data": "LV",
- "name": "Latvia",
- "hits": 33838
- },
- {
- "data": "LY",
- "name": "Libya",
- "hits": 3108
- },
- {
- "data": "MA",
- "name": "Morocco",
- "hits": 39739
- },
- {
- "data": "MC",
- "name": "Monaco",
- "hits": 273
- },
- {
- "data": "MD",
- "name": "Moldova, Republic of",
- "hits": 38318
- },
- {
- "data": "MG",
- "name": "Madagascar",
- "hits": 455
- },
- {
- "data": "MK",
- "name": "Macedonia",
- "hits": 9352
- },
- {
- "data": "ML",
- "name": "Mali",
- "hits": 140
- },
- {
- "data": "MM",
- "name": "Myanmar",
- "hits": 7763
- },
- {
- "data": "MN",
- "name": "Mongolia",
- "hits": 1085
- },
- {
- "data": "MO",
- "name": "Macau",
- "hits": 2485
- },
- {
- "data": "MQ",
- "name": "Martinique",
- "hits": 476
- },
- {
- "data": "MR",
- "name": "Mauritania",
- "hits": 168
- },
- {
- "data": "MT",
- "name": "Malta",
- "hits": 14420
- },
- {
- "data": "MU",
- "name": "Mauritius",
- "hits": 12838
- },
- {
- "data": "MV",
- "name": "Maldives",
- "hits": 4438
- },
- {
- "data": "MW",
- "name": "Malawi",
- "hits": 525
- },
- {
- "data": "MX",
- "name": "Mexico",
- "hits": 389333
- },
- {
- "data": "MY",
- "name": "Malaysia",
- "hits": 193879
- },
- {
- "data": "MZ",
- "name": "Mozambique",
- "hits": 2919
- },
- {
- "data": "NA",
- "name": "Namibia",
- "hits": 147
- },
- {
- "data": "NC",
- "name": "New Caledonia",
- "hits": 42
- },
- {
- "data": "NE",
- "name": "Niger",
- "hits": 448
- },
- {
- "data": "NG",
- "name": "Nigeria",
- "hits": 41776
- },
- {
- "data": "NI",
- "name": "Nicaragua",
- "hits": 4774
- },
- {
- "data": "NL",
- "name": "Netherlands",
- "hits": 12552421
- },
- {
- "data": "NO",
- "name": "Norway",
- "hits": 107128
- },
- {
- "data": "NP",
- "name": "Nepal",
- "hits": 3650584
- },
- {
- "data": "NZ",
- "name": "New Zealand",
- "hits": 759479
- },
- {
- "data": "OM",
- "name": "Oman",
- "hits": 13034
- },
- {
- "data": "PA",
- "name": "Panama",
- "hits": 6545
- },
- {
- "data": "PE",
- "name": "Peru",
- "hits": 37590
- },
- {
- "data": "PF",
- "name": "French Polynesia",
- "hits": 588
- },
- {
- "data": "PG",
- "name": "Papua New Guinea",
- "hits": 2667
- },
- {
- "data": "PH",
- "name": "Philippines",
- "hits": 486514
- },
- {
- "data": "PK",
- "name": "Pakistan",
- "hits": 124551
- },
- {
- "data": "PL",
- "name": "Poland",
- "hits": 779289
- },
- {
- "data": "PR",
- "name": "Puerto Rico",
- "hits": 16632
- },
- {
- "data": "PS",
- "name": "Palestinian Territory",
- "hits": 446992
- },
- {
- "data": "PT",
- "name": "Portugal",
- "hits": 813029
- },
- {
- "data": "PW",
- "name": "Palau",
- "hits": 42
- },
- {
- "data": "PY",
- "name": "Paraguay",
- "hits": 92260
- },
- {
- "data": "QA",
- "name": "Qatar",
- "hits": 11956
- },
- {
- "data": "RE",
- "name": "Reunion",
- "hits": 3563
- },
- {
- "data": "RO",
- "name": "Romania",
- "hits": 2795814
- },
- {
- "data": "RU",
- "name": "Russian Federation",
- "hits": 912121
- },
- {
- "data": "RW",
- "name": "Rwanda",
- "hits": 840
- },
- {
- "data": "SA",
- "name": "Saudi Arabia",
- "hits": 29092
- },
- {
- "data": "SC",
- "name": "Seychelles",
- "hits": 1806
- },
- {
- "data": "SD",
- "name": "Sudan",
- "hits": 12124
- },
- {
- "data": "SE",
- "name": "Sweden",
- "hits": 2447109
- },
- {
- "data": "SG",
- "name": "Singapore",
- "hits": 2656311
- },
- {
- "data": "SI",
- "name": "Slovenia",
- "hits": 18956
- },
- {
- "data": "SK",
- "name": "Slovakia",
- "hits": 36218
- },
- {
- "data": "SL",
- "name": "Sierra Leone",
- "hits": 21
- },
- {
- "data": "SM",
- "name": "San Marino",
- "hits": 224
- },
- {
- "data": "SN",
- "name": "Senegal",
- "hits": 581
- },
- {
- "data": "SO",
- "name": "Somalia",
- "hits": 105
- },
- {
- "data": "SR",
- "name": "Suriname",
- "hits": 4095
- },
- {
- "data": "SV",
- "name": "El Salvador",
- "hits": 31367
- },
- {
- "data": "SY",
- "name": "Syrian Arab Republic",
- "hits": 16310
- },
- {
- "data": "SZ",
- "name": "Swaziland",
- "hits": 112
- },
- {
- "data": "TG",
- "name": "Togo",
- "hits": 469
- },
- {
- "data": "TH",
- "name": "Thailand",
- "hits": 108416
- },
- {
- "data": "TJ",
- "name": "Tajikistan",
- "hits": 224
- },
- {
- "data": "TM",
- "name": "Turkmenistan",
- "hits": 504
- },
- {
- "data": "TN",
- "name": "Tunisia",
- "hits": 52892
- },
- {
- "data": "TL",
- "name": "Timor-Leste",
- "hits": 21
- },
- {
- "data": "TR",
- "name": "Turkey",
- "hits": 210749
- },
- {
- "data": "TT",
- "name": "Trinidad and Tobago",
- "hits": 7791
- },
- {
- "data": "TW",
- "name": "Taiwan",
- "hits": 52017
- },
- {
- "data": "TZ",
- "name": "Tanzania, United Republic of",
- "hits": 6335
- },
- {
- "data": "UA",
- "name": "Ukraine",
- "hits": 175105
- },
- {
- "data": "UG",
- "name": "Uganda",
- "hits": 6391
+ "hits": 13
},
{
"data": "US",
"name": "United States",
- "hits": 275414713
- },
- {
- "data": "UY",
- "name": "Uruguay",
- "hits": 19040
- },
- {
- "data": "UZ",
- "name": "Uzbekistan",
- "hits": 2191
- },
- {
- "data": "VA",
- "name": "Holy See (Vatican City State)",
- "hits": 7
- },
- {
- "data": "VC",
- "name": "Saint Vincent and the Grenadines",
- "hits": 91
- },
- {
- "data": "VE",
- "name": "Venezuela",
- "hits": 33558
- },
- {
- "data": "VG",
- "name": "Virgin Islands, British",
- "hits": 4291
- },
- {
- "data": "VI",
- "name": "Virgin Islands, U.S.",
- "hits": 147
- },
- {
- "data": "VN",
- "name": "Vietnam",
- "hits": 118020
- },
- {
- "data": "YE",
- "name": "Yemen",
- "hits": 14875
- },
- {
- "data": "YT",
- "name": "Mayotte",
- "hits": 35
- },
- {
- "data": "RS",
- "name": "Serbia",
- "hits": 47397
- },
- {
- "data": "ZA",
- "name": "South Africa",
- "hits": 80654
- },
- {
- "data": "ZM",
- "name": "Zambia",
- "hits": 3682
- },
- {
- "data": "ME",
- "name": "Montenegro",
- "hits": 1505
- },
- {
- "data": "ZW",
- "name": "Zimbabwe",
- "hits": 889
- },
- {
- "data": "A1",
- "name": "Anonymous Proxy",
- "hits": 66948
- },
- {
- "data": "A2",
- "name": "Satellite Provider",
- "hits": 882
- },
- {
- "data": "AX",
- "name": "Aland Islands",
- "hits": 161
- },
- {
- "data": "GG",
- "name": "Guernsey",
- "hits": 7
- },
- {
- "data": "IM",
- "name": "Isle of Man",
- "hits": 2485
- },
- {
- "data": "JE",
- "name": "Jersey",
- "hits": 441
- },
- {
- "data": "MF",
- "name": "Saint Martin",
- "hits": 42
- },
- {
- "data": "SS",
- "name": "South Sudan",
- "hits": 882
+ "hits": 14
}
],
"hours": [
{
- "data": 0,
- "hits": 18191425
- },
- {
- "data": 1,
- "hits": 19101285
- },
- {
- "data": 2,
- "hits": 18275187
- },
- {
- "data": 3,
- "hits": 17760085
- },
- {
- "data": 4,
- "hits": 17563406
- },
- {
- "data": 5,
- "hits": 17896221
- },
- {
- "data": 6,
- "hits": 16487464
- },
- {
- "data": 7,
- "hits": 15944579
- },
- {
- "data": 8,
- "hits": 19057962
- },
- {
- "data": 9,
- "hits": 19114991
- },
- {
"data": 10,
- "hits": 18047232
+ "hits": 2
},
{
"data": 11,
- "hits": 16965739
+ "hits": 4
},
{
"data": 12,
- "hits": 16405711
+ "hits": 13
},
{
"data": 13,
- "hits": 17330096
+ "hits": 2
},
{
"data": 14,
- "hits": 17229478
+ "hits": 5
},
{
"data": 15,
- "hits": 18303082
+ "hits": 1
},
{
"data": 16,
- "hits": 18437020
- },
- {
- "data": 17,
- "hits": 19563509
+ "hits": 2
},
{
"data": 18,
- "hits": 20926479
- },
- {
- "data": 19,
- "hits": 20192991
- },
- {
- "data": 20,
- "hits": 20573714
- },
- {
- "data": 21,
- "hits": 20323569
- },
- {
- "data": 22,
- "hits": 20160084
- },
- {
- "data": 23,
- "hits": 18724650
+ "hits": 5
}
],
"methods": [
{
"data": "GET",
- "hits": 442563975
- },
- {
- "data": "POST",
- "hits": 693
+ "hits": 33
},
{
"data": "HEAD",
- "hits": 8302
- },
- {
- "data": "OPTIONS",
- "hits": 2954
- },
- {
- "data": "PUT",
- "hits": 28
+ "hits": 1
}
],
"protocols": [
{
"data": "HTTP/1.1",
- "hits": 438518878
+ "hits": 33
},
{
"data": "HTTP/1.0",
- "hits": 4057081
+ "hits": 1
}
],
"status": [
{
"data": 200,
- "hits": 323325898
- },
- {
- "data": 301,
- "hits": 11437104
- },
- {
- "data": 304,
- "hits": 84
- },
- {
- "data": 400,
- "hits": 370258
+ "hits": 22
},
{
"data": 404,
- "hits": 6201531
- },
- {
- "data": 405,
- "hits": 3388
- },
- {
- "data": 411,
- "hits": 63
- },
- {
- "data": 499,
- "hits": 14
- },
- {
- "data": 500,
- "hits": 101236947
- },
- {
- "data": 502,
- "hits": 224
- },
- {
- "data": 504,
- "hits": 182
+ "hits": 12
}
]
-}
+}
+\ No newline at end of file
diff --git a/examples/logswan.log b/examples/logswan.log
@@ -0,0 +1,34 @@
+1.1.1.1 - - [09/Dec/2018:10:59:20 +0100] "HEAD / HTTP/1.1" 200 8142 "" "curl/7.62.0"
+1.1.1.1 - - [09/Dec/2018:10:59:26 +0100] "GET / HTTP/1.1" 200 8142 "" "curl/7.62.0"
+1.1.1.1 - - [09/Dec/2018:11:00:02 +0100] "GET /robots.txt HTTP/1.1" 404 0 "" "curl/7.62.0"
+1.1.1.1 - - [09/Dec/2018:11:06:22 +0100] "GET /assets/images/bkg.png HTTP/1.1" 404 0 "https://www.logswan.org/assets/css/style.css" "Mozilla/5.0 (X11; OpenBSD amd64; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
+1.1.1.1 - - [09/Dec/2018:11:06:22 +0100] "GET /assets/images/blacktocat.png HTTP/1.1" 404 0 "https://www.logswan.org/assets/css/style.css" "Mozilla/5.0 (X11; OpenBSD amd64; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
+1.1.1.1 - - [09/Dec/2018:11:06:23 +0100] "GET /favicon.ico HTTP/1.1" 404 0 "https://www.logswan.org/" "Mozilla/5.0 (X11; OpenBSD amd64; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
+2.2.2.2 - - [09/Dec/2018:12:36:38 +0100] "GET /files/logswan-1.00.tar.gz HTTP/1.1" 200 14571 "" "curl/7.62.0"
+2.2.2.2 - - [09/Dec/2018:12:36:47 +0100] "GET /files/logswan-1.00.tar.gz HTTP/1.1" 200 14571 "" "Wget/1.19.5 (openbsd6.4)"
+2.2.2.2 - - [09/Dec/2018:12:36:51 +0100] "GET /files/logswan-1.01.tar.gz HTTP/1.1" 200 14790 "" "Wget/1.19.5 (openbsd6.4)"
+2.2.2.2 - - [09/Dec/2018:12:36:53 +0100] "GET /files/logswan-1.02.tar.gz HTTP/1.1" 200 14931 "" "Wget/1.19.5 (openbsd6.4)"
+2.2.2.2 - - [09/Dec/2018:12:36:55 +0100] "GET /files/logswan-1.03.tar.gz HTTP/1.1" 200 16485 "" "Wget/1.19.5 (openbsd6.4)"
+2.2.2.2 - - [09/Dec/2018:12:36:57 +0100] "GET /files/logswan-1.04.tar.gz HTTP/1.1" 200 16913 "" "Wget/1.19.5 (openbsd6.4)"
+2.2.2.2 - - [09/Dec/2018:12:37:00 +0100] "GET /files/logswan-1.05.tar.gz HTTP/1.1" 200 17392 "" "Wget/1.19.5 (openbsd6.4)"
+2.2.2.2 - - [09/Dec/2018:12:37:02 +0100] "GET /files/logswan-1.06.tar.gz HTTP/1.1" 200 17589 "" "Wget/1.19.5 (openbsd6.4)"
+2.2.2.2 - - [09/Dec/2018:12:37:05 +0100] "GET /files/logswan-1.07.tar.gz HTTP/1.1" 200 18697 "" "Wget/1.19.5 (openbsd6.4)"
+2.2.2.2 - - [09/Dec/2018:12:37:13 +0100] "GET /files/logswan-2.0.0.tar.gz HTTP/1.1" 200 20683 "" "Wget/1.19.5 (openbsd6.4)"
+2.2.2.2 - - [09/Dec/2018:12:37:16 +0100] "GET /files/logswan-2.0.1.tar.gz HTTP/1.1" 200 21336 "" "Wget/1.19.5 (openbsd6.4)"
+2.2.2.2 - - [09/Dec/2018:12:37:18 +0100] "GET /files/logswan-2.0.2.tar.gz HTTP/1.1" 200 21367 "" "Wget/1.19.5 (openbsd6.4)"
+2.2.2.2 - - [09/Dec/2018:12:37:21 +0100] "GET /files/logswan-2.0.3.tar.gz HTTP/1.1" 200 21799 "" "Wget/1.19.5 (openbsd6.4)"
+3.3.3.3 - - [09/Dec/2018:13:16:24 +0100] "GET /assets/images/bkg.png HTTP/1.1" 404 0 "https://www.logswan.org/assets/css/style.css" "Mozilla/5.0 (X11; OpenBSD amd64; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
+3.3.3.3 - - [09/Dec/2018:13:16:24 +0100] "GET /assets/images/blacktocat.png HTTP/1.1" 404 0 "https://www.logswan.org/assets/css/style.css" "Mozilla/5.0 (X11; OpenBSD amd64; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
+4.4.4.4 - - [09/Dec/2018:14:32:28 +0100] "GET / HTTP/1.1" 200 8142 "" "Mozilla/5.0 (X11; OpenBSD amd64; rv:63.0) Gecko/20100101 Firefox/63.0"
+4.4.4.4 - - [09/Dec/2018:14:32:29 +0100] "GET /assets/css/style.css HTTP/1.1" 200 5466 "https://www.logswan.org/" "Mozilla/5.0 (X11; OpenBSD amd64; rv:63.0) Gecko/20100101 Firefox/63.0"
+4.4.4.4 - - [09/Dec/2018:14:32:29 +0100] "GET /assets/images/bkg.png HTTP/1.1" 404 0 "https://www.logswan.org/assets/css/style.css" "Mozilla/5.0 (X11; OpenBSD amd64; rv:63.0) Gecko/20100101 Firefox/63.0"
+4.4.4.4 - - [09/Dec/2018:14:32:29 +0100] "GET /assets/images/blacktocat.png HTTP/1.1" 404 0 "https://www.logswan.org/assets/css/style.css" "Mozilla/5.0 (X11; OpenBSD amd64; rv:63.0) Gecko/20100101 Firefox/63.0"
+4.4.4.4 - - [09/Dec/2018:14:32:29 +0100] "GET /favicon.ico HTTP/1.1" 404 0 "" "Mozilla/5.0 (X11; OpenBSD amd64; rv:63.0) Gecko/20100101 Firefox/63.0"
+5.5.5.5 - - [09/Dec/2018:15:21:57 +0100] "GET / HTTP/1.0" 200 8142 "" "Lynx/2.8.9rel.1 libwww-FM/2.14 SSL-MM/1.4.1"
+6.6.6.6 - - [09/Dec/2018:16:49:12 +0100] "GET / HTTP/1.1" 200 8142 "https://www.logswan.org/" "Dillo/3.0.5"
+6.6.6.6 - - [09/Dec/2018:16:49:12 +0100] "GET /assets/css/style.css HTTP/1.1" 200 5466 "https://www.logswan.org/" "Dillo/3.0.5"
+7.7.7.7 - - [09/Dec/2018:18:17:29 +0100] "GET / HTTP/1.1" 200 8142 "" "NetSurf/3.8 (OpenBSD)"
+7.7.7.7 - - [09/Dec/2018:18:17:30 +0100] "GET /assets/css/style.css HTTP/1.1" 200 5466 "https://www.logswan.org/" "NetSurf/3.8 (OpenBSD)"
+7.7.7.7 - - [09/Dec/2018:18:17:30 +0100] "GET /assets/images/bkg.png HTTP/1.1" 404 0 "https://www.logswan.org/" "NetSurf/3.8 (OpenBSD)"
+7.7.7.7 - - [09/Dec/2018:18:17:30 +0100] "GET /assets/images/blacktocat.png HTTP/1.1" 404 0 "https://www.logswan.org/" "NetSurf/3.8 (OpenBSD)"
+7.7.7.7 - - [09/Dec/2018:18:17:31 +0100] "GET /favicon.ico HTTP/1.1" 404 0 "" "NetSurf/3.8 (OpenBSD)"