From c54ee71e1dc0b14ec9b7614f9263b0e53f7dfd01 Mon Sep 17 00:00:00 2001 From: Quentin McGaw Date: Thu, 25 Feb 2021 23:51:29 +0000 Subject: [PATCH] Maintenance: new logging, shorter with less deps --- cmd/gluetun/main.go | 8 ++----- go.mod | 2 +- go.sum | 39 ++-------------------------------- internal/cli/openvpnconfig.go | 7 ++---- internal/cli/update.go | 5 +---- internal/dns/logs.go | 18 ++++++++-------- internal/dns/logs_test.go | 14 ++++++------ internal/dns/loop.go | 2 +- internal/firewall/firewall.go | 2 +- internal/healthcheck/server.go | 2 +- internal/httpproxy/loop.go | 2 +- internal/openvpn/logs.go | 24 ++++++++++----------- internal/openvpn/logs_test.go | 18 ++++++++-------- internal/openvpn/loop.go | 4 ++-- internal/openvpn/openvpn.go | 2 +- internal/publicip/loop.go | 2 +- internal/routing/routing.go | 2 +- internal/server/server.go | 6 +++--- internal/shadowsocks/loop.go | 2 +- internal/storage/storage.go | 2 +- internal/updater/loop.go | 2 +- 21 files changed, 60 insertions(+), 105 deletions(-) diff --git a/cmd/gluetun/main.go b/cmd/gluetun/main.go index aee10233..17bae0a9 100644 --- a/cmd/gluetun/main.go +++ b/cmd/gluetun/main.go @@ -55,11 +55,7 @@ func main() { ctx := context.Background() ctx, cancel := context.WithCancel(ctx) - logger, err := logging.NewLogger(logging.ConsoleEncoding, logging.InfoLevel) - if err != nil { - fmt.Println(err) - nativeos.Exit(1) - } + logger := logging.New(logging.StdLog) args := nativeos.Args os := os.New() @@ -149,7 +145,7 @@ func _main(ctx context.Context, buildInfo models.BuildInformation, }) var allSettings configuration.Settings - err := allSettings.Read(params.NewEnv(), os, logger.WithPrefix("configuration: ")) + err := allSettings.Read(params.NewEnv(), os, logger.NewChild(logging.SetPrefix("configuration: "))) if err != nil { return err } diff --git a/go.mod b/go.mod index da0b42af..efb8f6c4 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/golang/mock v1.4.4 github.com/kyokomi/emoji v2.2.4+incompatible github.com/qdm12/dns v1.4.0 - github.com/qdm12/golibs v0.0.0-20210206072445-35759e951561 + github.com/qdm12/golibs v0.0.0-20210215133151-c711ebd3e56a github.com/qdm12/ss-server v0.1.0 github.com/qdm12/updated v0.0.0-20210102005021-dd457d77f94a github.com/stretchr/testify v1.7.0 diff --git a/go.sum b/go.sum index 55b9e98a..f3d2a0f2 100644 --- a/go.sum +++ b/go.sum @@ -1,13 +1,9 @@ -github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/PuerkitoBio/purell v1.1.0 h1:rmGxhojJlM0tuKtfdvliR84CFHljx9ag64t2xmVkjK4= github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf h1:eg0MeVzsP1G42dRafH3vf+al2vQIJU0YHX+1Tw87oco= github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -15,38 +11,25 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= -github.com/fatih/color v1.9.0 h1:8xPHl4/q1VyqGIPif1F+1V3Y3lSmrq01EabUW3CoW5s= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.10.0 h1:s36xzo75JdqLaaWoiEHk767eHiwo0598uUxyfiPkDsg= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= -github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb h1:D4uzjWwKYQ5XnAvUbuvHW93esHg7F8N/OYeBBcJoTr0= github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI= -github.com/go-openapi/analysis v0.17.0 h1:8JV+dzJJiK46XqGLqqLav8ZfEiJECp8jlOFhpiCdZ+0= github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/errors v0.17.2 h1:azEQ8Fnx0jmtFF2fxsnmd6I0x6rsweUF63qqSO1NmKk= github.com/go-openapi/errors v0.17.2/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/jsonpointer v0.17.0 h1:nH6xp8XdXHx8dqveo0ZuJBluCO2qGrPbDNZ0dwoRHP0= github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= -github.com/go-openapi/jsonreference v0.17.0 h1:yJW3HCkTHg7NOA+gZ83IPHzUSnUzGXhGmsdiCcMexbA= github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= -github.com/go-openapi/loads v0.17.0 h1:H22nMs3GDQk4SwAaFQ+jLNw+0xoFeCueawhZlv8MBYs= github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= -github.com/go-openapi/runtime v0.17.2 h1:/ZK67ikFhQAMFFH/aPu2MaGH7QjP4wHBvHYOVIzDAw0= github.com/go-openapi/runtime v0.17.2/go.mod h1:QO936ZXeisByFmZEO1IS1Dqhtf4QV1sYYFtIq6Ld86Q= -github.com/go-openapi/spec v0.17.0 h1:XNvrt8FlSVP8T1WuhbAFF6QDhJc0zsoWzX4wXARhhpE= github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= -github.com/go-openapi/strfmt v0.17.0 h1:1isAxYf//QDTnVzbLAMrUK++0k1EjeLJU/gTOR0o3Mc= github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= -github.com/go-openapi/swag v0.17.0 h1:iqrgMg7Q7SvtbWLlltPrkMs0UBJI6oTSs79JFRUi880= github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= -github.com/go-openapi/validate v0.17.0 h1:pqoViQz3YLOGIhAmD0N4Lt6pa/3Gnj3ymKqQwq8iS6U= github.com/go-openapi/validate v0.17.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= -github.com/golang/mock v1.4.3 h1:GV+pQPG/EUUbkh47niozDcADz6go/dUwhVzdUQHIVRw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4 h1:l75CXGRSwbaYNpl/Z2X1XIIAMSCquvXgpVZDhwEIJsc= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= @@ -54,7 +37,6 @@ github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/gotify/go-api-client/v2 v2.0.4 h1:0w8skCr8aLBDKaQDg31LKKHUGF7rt7zdRpR+6cqIAlE= github.com/gotify/go-api-client/v2 v2.0.4/go.mod h1:VKiah/UK20bXsr0JObE1eBVLW44zbBouzjuri9iwjFU= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= @@ -68,37 +50,30 @@ github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kyokomi/emoji v2.2.4+incompatible h1:np0woGKwx9LiHAQmwZx79Oc0rHpNw3o+3evou4BEPv4= github.com/kyokomi/emoji v2.2.4+incompatible/go.mod h1:mZ6aGCD7yk8j6QY6KICwnZ2pxoszVseX1DNoGtU2tBA= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329 h1:2gxZ0XQIU/5z3Z3bUBu+FXuk2pFbkN6tcwi/pjyaDic= github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.11 h1:FxPOTFNqGkuDUGi3H/qkUbQO4ZiBa2brKq5r0l8TGeM= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mr-tron/base58 v1.1.3 h1:v+sk57XuaCKGXpWtVBX8YJzO7hMGx4Aajh4TQbdEFdc= github.com/mr-tron/base58 v1.1.3/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-buffruneio v0.2.0/go.mod h1:JkE26KsDizTr40EUHkXVtNPvgGtbSNq5BcowyYOWdKo= -github.com/phayes/permbits v0.0.0-20190612203442-39d7c581d2ee h1:P6U24L02WMfj9ymZTxl7CxS73JC99x3ukk+DBkgQGQs= github.com/phayes/permbits v0.0.0-20190612203442-39d7c581d2ee/go.mod h1:3uODdxMgOaPYeWU7RzZLxVtJHZ/x1f/iHkBZuKJDzuY= -github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/qdm12/dns v1.4.0 h1:P8kVMGo7yIEZSk18fA9XQh9faL1CW20aHosWP064MAA= github.com/qdm12/dns v1.4.0/go.mod h1:WUY4/U8Z2O8888DPrahrIBv8GdYeoIcEy4aUDecZ+UM= github.com/qdm12/golibs v0.0.0-20201227203847-2fd99ffdfdba/go.mod h1:pikkTN7g7zRuuAnERwqW1yAFq6pYmxrxpjiwGvb0Ysc= -github.com/qdm12/golibs v0.0.0-20210124192933-79a950eaf217 h1:/eMBq0vbc/KmVPXbwLfssp547pp6APRS1x/JNmPvm0s= github.com/qdm12/golibs v0.0.0-20210124192933-79a950eaf217/go.mod h1:pikkTN7g7zRuuAnERwqW1yAFq6pYmxrxpjiwGvb0Ysc= -github.com/qdm12/golibs v0.0.0-20210206072445-35759e951561 h1:YgdQYYj4cEq8jK9TWCItlOOLfmDMVMajcp0YGVCW7cA= -github.com/qdm12/golibs v0.0.0-20210206072445-35759e951561/go.mod h1:pikkTN7g7zRuuAnERwqW1yAFq6pYmxrxpjiwGvb0Ysc= +github.com/qdm12/golibs v0.0.0-20210215133151-c711ebd3e56a h1:DxO9jvcQDtWgKSzxL95828kQxO6WCocP9PPpmIqGMRs= +github.com/qdm12/golibs v0.0.0-20210215133151-c711ebd3e56a/go.mod h1:y0qNgur9dTkHK2Bb5tK0UCtYyvEiK08flVIglROmnBg= github.com/qdm12/ss-server v0.1.0 h1:WV9MkHCDEWRwe4WpnYFeR/zcZAxYoTbfntLDnw9AQ50= github.com/qdm12/ss-server v0.1.0/go.mod h1:ABVUkxubboL3vqBkOwDV9glX1/x7SnYrckBe5d+M/zw= github.com/qdm12/updated v0.0.0-20210102005021-dd457d77f94a h1:gkyP+gMEeBgMgyRYGrVNcoy6cL1065IvXsyfB6xboIc= @@ -108,13 +83,11 @@ github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3/go.mod h1:HgjTstv github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI= -github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -124,24 +97,18 @@ github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df h1:OviZH7qLw/7Zo github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= github.com/yl2chen/cidranger v1.0.2/go.mod h1:9U1yz7WPYDwf0vpNWFaeRh0bjwz5RVgRy/9UEQfHl0g= -go.uber.org/atomic v1.5.0 h1:OI5t8sDa1Or+q8AeE+yKeB/SDYioSHAgcVljj9JIETY= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/multierr v1.3.0 h1:sFPn2GLc3poCkfrpIXGhBD2X0CMIo4Q/zSULXrj/+uc= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.13.0 h1:nR6NoDBgAf67s68NhaXbsojM+2gxp3S1hWkHDl27pVU= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200117160349-530e935923ad/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de h1:ikNHVSjEfnvz6sxdSPCaPt572qowuyMDMJLLm3Db3ig= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad h1:DN0cp81fZ3njFcrLCytUHRSUkqBjfTo4Tx9RJTWs0EY= golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de h1:5hukYrvBGR8/eNkX5mdUezrA6JiaEZDtJb9Ei+1LlBs= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -171,7 +138,6 @@ golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBn golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190729092621-ff9f1409240a/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5 h1:hKsoRgsbwY1NafxrwTs+k64bikrLBkAgPir1TNCj3Zs= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -186,7 +152,6 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/internal/cli/openvpnconfig.go b/internal/cli/openvpnconfig.go index 061a5b58..7c38a015 100644 --- a/internal/cli/openvpnconfig.go +++ b/internal/cli/openvpnconfig.go @@ -15,13 +15,10 @@ import ( ) func (c *cli) OpenvpnConfig(os os.OS) error { - logger, err := logging.NewLogger(logging.ConsoleEncoding, logging.InfoLevel) - if err != nil { - return err - } + logger := logging.New(logging.StdLog) var allSettings configuration.Settings - err = allSettings.Read(params.NewEnv(), os, logger) + err := allSettings.Read(params.NewEnv(), os, logger) if err != nil { return err } diff --git a/internal/cli/update.go b/internal/cli/update.go index 7ba42f99..1c324f4c 100644 --- a/internal/cli/update.go +++ b/internal/cli/update.go @@ -35,10 +35,7 @@ func (c *cli) Update(ctx context.Context, args []string, os os.OS) error { if err := flagSet.Parse(args); err != nil { return err } - logger, err := logging.NewLogger(logging.ConsoleEncoding, logging.InfoLevel) - if err != nil { - return err - } + logger := logging.New(logging.StdLog) if !flushToFile && !options.Stdout { return fmt.Errorf("at least one of -file or -stdout must be specified") } diff --git a/internal/dns/logs.go b/internal/dns/logs.go index 2b6e1037..30b6c157 100644 --- a/internal/dns/logs.go +++ b/internal/dns/logs.go @@ -23,13 +23,13 @@ func (l *looper) collectLines(wg *sync.WaitGroup, stdout, stderr <-chan string) } line, level := processLogLine(line) switch level { - case logging.DebugLevel: + case logging.LevelDebug: l.logger.Debug(line) - case logging.InfoLevel: + case logging.LevelInfo: l.logger.Info(line) - case logging.WarnLevel: + case logging.LevelWarn: l.logger.Warn(line) - case logging.ErrorLevel: + case logging.LevelError: l.logger.Error(line) } } @@ -43,18 +43,18 @@ func processLogLine(s string) (filtered string, level logging.Level) { switch { case strings.HasPrefix(filtered, "notice: "): filtered = strings.TrimPrefix(filtered, "notice: ") - level = logging.InfoLevel + level = logging.LevelInfo case strings.HasPrefix(filtered, "info: "): filtered = strings.TrimPrefix(filtered, "info: ") - level = logging.InfoLevel + level = logging.LevelInfo case strings.HasPrefix(filtered, "warn: "): filtered = strings.TrimPrefix(filtered, "warn: ") - level = logging.WarnLevel + level = logging.LevelWarn case strings.HasPrefix(filtered, "error: "): filtered = strings.TrimPrefix(filtered, "error: ") - level = logging.ErrorLevel + level = logging.LevelError default: - level = logging.InfoLevel + level = logging.LevelInfo } filtered = constants.ColorUnbound().Sprintf(filtered) return filtered, level diff --git a/internal/dns/logs_test.go b/internal/dns/logs_test.go index c47efdf4..67f68d65 100644 --- a/internal/dns/logs_test.go +++ b/internal/dns/logs_test.go @@ -14,28 +14,28 @@ func Test_processLogLine(t *testing.T) { filtered string level logging.Level }{ - "empty string": {"", "", logging.InfoLevel}, - "random string": {"asdasqdb", "asdasqdb", logging.InfoLevel}, + "empty string": {"", "", logging.LevelInfo}, + "random string": {"asdasqdb", "asdasqdb", logging.LevelInfo}, "unbound notice": { "[1594595249] unbound[75:0] notice: init module 0: validator", "init module 0: validator", - logging.InfoLevel}, + logging.LevelInfo}, "unbound info": { "[1594595249] unbound[75:0] info: init module 0: validator", "init module 0: validator", - logging.InfoLevel}, + logging.LevelInfo}, "unbound warn": { "[1594595249] unbound[75:0] warn: init module 0: validator", "init module 0: validator", - logging.WarnLevel}, + logging.LevelWarn}, "unbound error": { "[1594595249] unbound[75:0] error: init module 0: validator", "init module 0: validator", - logging.ErrorLevel}, + logging.LevelError}, "unbound unknown": { "[1594595249] unbound[75:0] BLA: init module 0: validator", "BLA: init module 0: validator", - logging.InfoLevel}, + logging.LevelInfo}, } for name, tc := range tests { tc := tc diff --git a/internal/dns/loop.go b/internal/dns/loop.go index 15479207..4f13c262 100644 --- a/internal/dns/loop.go +++ b/internal/dns/loop.go @@ -55,7 +55,7 @@ func NewLooper(conf unbound.Configurator, settings configuration.DNS, client *ht }, conf: conf, client: client, - logger: logger.WithPrefix("dns over tls: "), + logger: logger.NewChild(logging.SetPrefix("dns over tls: ")), username: username, puid: puid, pgid: pgid, diff --git a/internal/firewall/firewall.go b/internal/firewall/firewall.go index e569b84d..6b012812 100644 --- a/internal/firewall/firewall.go +++ b/internal/firewall/firewall.go @@ -52,7 +52,7 @@ type configurator struct { //nolint:maligned func NewConfigurator(logger logging.Logger, routing routing.Routing, openFile os.OpenFileFunc) Configurator { return &configurator{ commander: command.NewCommander(), - logger: logger.WithPrefix("firewall: "), + logger: logger.NewChild(logging.SetPrefix("firewall: ")), routing: routing, openFile: openFile, allowedInputPorts: make(map[uint16]string), diff --git a/internal/healthcheck/server.go b/internal/healthcheck/server.go index d39af695..d7d42914 100644 --- a/internal/healthcheck/server.go +++ b/internal/healthcheck/server.go @@ -23,7 +23,7 @@ type server struct { } func NewServer(address string, logger logging.Logger) Server { - healthcheckLogger := logger.WithPrefix("healthcheck: ") + healthcheckLogger := logger.NewChild(logging.SetPrefix("healthcheck: ")) return &server{ address: address, logger: healthcheckLogger, diff --git a/internal/httpproxy/loop.go b/internal/httpproxy/loop.go index 72d74275..ac6c4873 100644 --- a/internal/httpproxy/loop.go +++ b/internal/httpproxy/loop.go @@ -41,7 +41,7 @@ func NewLooper(logger logging.Logger, settings configuration.HTTPProxy) Looper { status: constants.Stopped, settings: settings, }, - logger: logger.WithPrefix("http proxy: "), + logger: logger.NewChild(logging.SetPrefix("http proxy: ")), start: make(chan struct{}), running: make(chan models.LoopStatus), stop: make(chan struct{}), diff --git a/internal/openvpn/logs.go b/internal/openvpn/logs.go index 4461db52..db6f6c45 100644 --- a/internal/openvpn/logs.go +++ b/internal/openvpn/logs.go @@ -29,16 +29,16 @@ func (l *looper) collectLines(wg *sync.WaitGroup, stdout, stderr <-chan string) continue // filtered out } if errLine { - level = logging.ErrorLevel + level = logging.LevelError } switch level { - case logging.DebugLevel: + case logging.LevelDebug: l.logger.Debug(line) - case logging.InfoLevel: + case logging.LevelInfo: l.logger.Info(line) - case logging.WarnLevel: + case logging.LevelWarn: l.logger.Warn(line) - case logging.ErrorLevel: + case logging.LevelError: l.logger.Error(line) } if strings.Contains(line, "Initialization Sequence Completed") { @@ -53,21 +53,21 @@ func processLogLine(s string) (filtered string, level logging.Level) { "NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay", } { if s == ignored { - return "", "" + return "", logging.LevelDebug } } switch { case strings.HasPrefix(s, "NOTE: "): filtered = strings.TrimPrefix(s, "NOTE: ") - level = logging.InfoLevel + level = logging.LevelInfo case strings.HasPrefix(s, "WARNING: "): filtered = strings.TrimPrefix(s, "WARNING: ") - level = logging.WarnLevel + level = logging.LevelWarn case strings.HasPrefix(s, "Options error: "): filtered = strings.TrimPrefix(s, "Options error: ") - level = logging.ErrorLevel + level = logging.LevelError case s == "Initialization Sequence Completed": - return color.HiGreenString(s), logging.InfoLevel + return color.HiGreenString(s), logging.LevelInfo case s == "AUTH: Received control message: AUTH_FAILED": filtered = s + ` @@ -76,7 +76,7 @@ Your credentials might be wrong ๐Ÿคจ ๐Ÿ’ก If you use Private Internet Access, check https://github.com/qdm12/gluetun/issues/265 ` - level = logging.ErrorLevel + level = logging.LevelError case strings.Contains(s, "TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)"): //nolint:lll filtered = s + ` ๐Ÿš’๐Ÿš’๐Ÿš’๐Ÿš’๐Ÿš’๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿš’๐Ÿš’๐Ÿš’๐Ÿš’๐Ÿš’ @@ -93,7 +93,7 @@ That error usually happens because either: ` default: filtered = s - level = logging.InfoLevel + level = logging.LevelInfo } filtered = constants.ColorOpenvpn().Sprintf(filtered) return filtered, level diff --git a/internal/openvpn/logs_test.go b/internal/openvpn/logs_test.go index be8236a1..224fd654 100644 --- a/internal/openvpn/logs_test.go +++ b/internal/openvpn/logs_test.go @@ -14,36 +14,36 @@ func Test_processLogLine(t *testing.T) { filtered string level logging.Level }{ - "empty string": {"", "", logging.InfoLevel}, - "random string": {"asdasqdb", "asdasqdb", logging.InfoLevel}, + "empty string": {"", "", logging.LevelInfo}, + "random string": {"asdasqdb", "asdasqdb", logging.LevelInfo}, "openvpn unknown": { "message", "message", - logging.InfoLevel}, + logging.LevelInfo}, "openvpn note": { "NOTE: message", "message", - logging.InfoLevel}, + logging.LevelInfo}, "openvpn warning": { "WARNING: message", "message", - logging.WarnLevel}, + logging.LevelWarn}, "openvpn options error": { "Options error: message", "message", - logging.ErrorLevel}, + logging.LevelError}, "openvpn ignored message": { "NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay", "", - ""}, + logging.LevelDebug}, "openvpn success": { "Initialization Sequence Completed", "Initialization Sequence Completed", - logging.InfoLevel}, + logging.LevelInfo}, "openvpn auth failed": { "AUTH: Received control message: AUTH_FAILED", "AUTH: Received control message: AUTH_FAILED\n\nYour credentials might be wrong ๐Ÿคจ\n\n๐Ÿ’ก If you use Private Internet Access, check https://github.com/qdm12/gluetun/issues/265\n\n", //nolint:lll - logging.ErrorLevel}, + logging.LevelError}, } for name, tc := range tests { tc := tc diff --git a/internal/openvpn/loop.go b/internal/openvpn/loop.go index c265a98b..37faf47c 100644 --- a/internal/openvpn/loop.go +++ b/internal/openvpn/loop.go @@ -75,8 +75,8 @@ func NewLooper(settings configuration.OpenVPN, conf: conf, fw: fw, routing: routing, - logger: logger.WithPrefix("openvpn: "), - pfLogger: logger.WithPrefix("port forwarding: "), + logger: logger.NewChild(logging.SetPrefix("openvpn: ")), + pfLogger: logger.NewChild(logging.SetPrefix("port forwarding: ")), client: client, openFile: openFile, tunnelReady: tunnelReady, diff --git a/internal/openvpn/openvpn.go b/internal/openvpn/openvpn.go index 4fe52f10..fd913b9f 100644 --- a/internal/openvpn/openvpn.go +++ b/internal/openvpn/openvpn.go @@ -29,7 +29,7 @@ type configurator struct { func NewConfigurator(logger logging.Logger, os os.OS, unix unix.Unix) Configurator { return &configurator{ - logger: logger.WithPrefix("openvpn configurator: "), + logger: logger.NewChild(logging.SetPrefix("openvpn configurator: ")), commander: command.NewCommander(), os: os, unix: unix, diff --git a/internal/publicip/loop.go b/internal/publicip/loop.go index dd427adb..f27c5eb2 100644 --- a/internal/publicip/loop.go +++ b/internal/publicip/loop.go @@ -60,7 +60,7 @@ func NewLooper(client *http.Client, logger logging.Logger, // Objects client: client, getter: NewIPGetter(client), - logger: logger.WithPrefix("ip getter: "), + logger: logger.NewChild(logging.SetPrefix("ip getter: ")), os: os, puid: puid, pgid: pgid, diff --git a/internal/routing/routing.go b/internal/routing/routing.go index 7af3cda1..a080289a 100644 --- a/internal/routing/routing.go +++ b/internal/routing/routing.go @@ -37,7 +37,7 @@ type routing struct { // NewRouting creates a new routing instance. func NewRouting(logger logging.Logger) Routing { return &routing{ - logger: logger.WithPrefix("routing: "), + logger: logger.NewChild(logging.SetPrefix("routing: ")), verbose: true, } } diff --git a/internal/server/server.go b/internal/server/server.go index e2124aca..207ebf93 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -25,12 +25,12 @@ type server struct { handler http.Handler } -func New(address string, logging bool, logger logging.Logger, +func New(address string, logEnabled bool, logger logging.Logger, buildInfo models.BuildInformation, openvpnLooper openvpn.Looper, unboundLooper dns.Looper, updaterLooper updater.Looper, publicIPLooper publicip.Looper) Server { - serverLogger := logger.WithPrefix("http server: ") - handler := newHandler(serverLogger, logging, buildInfo, + serverLogger := logger.NewChild(logging.SetPrefix("http server: ")) + handler := newHandler(serverLogger, logEnabled, buildInfo, openvpnLooper, unboundLooper, updaterLooper, publicIPLooper) return &server{ address: address, diff --git a/internal/shadowsocks/loop.go b/internal/shadowsocks/loop.go index 8db9b63e..a74a6c04 100644 --- a/internal/shadowsocks/loop.go +++ b/internal/shadowsocks/loop.go @@ -58,7 +58,7 @@ func NewLooper(settings configuration.ShadowSocks, logger logging.Logger) Looper status: constants.Stopped, settings: settings, }, - logger: logger.WithPrefix("shadowsocks: "), + logger: logger.NewChild(logging.SetPrefix("shadowsocks: ")), start: make(chan struct{}), running: make(chan models.LoopStatus), stop: make(chan struct{}), diff --git a/internal/storage/storage.go b/internal/storage/storage.go index 1a30fc92..9cb1185d 100644 --- a/internal/storage/storage.go +++ b/internal/storage/storage.go @@ -22,7 +22,7 @@ type storage struct { func New(logger logging.Logger, os os.OS, filepath string) Storage { return &storage{ os: os, - logger: logger.WithPrefix("storage: "), + logger: logger.NewChild(logging.SetPrefix("storage: ")), filepath: filepath, } } diff --git a/internal/updater/loop.go b/internal/updater/loop.go index 2be1f808..54bb574f 100644 --- a/internal/updater/loop.go +++ b/internal/updater/loop.go @@ -47,7 +47,7 @@ const defaultBackoffTime = 5 * time.Second func NewLooper(settings configuration.Updater, currentServers models.AllServers, storage storage.Storage, setAllServers func(allServers models.AllServers), client *http.Client, logger logging.Logger) Looper { - loggerWithPrefix := logger.WithPrefix("updater: ") + loggerWithPrefix := logger.NewChild(logging.SetPrefix("updater: ")) return &looper{ state: state{ status: constants.Stopped,