Mon, 04 Jan 2016 17:04:29 +0000
Add error logging when loading geoip
19
fd7b581560d5
Add error logging when loading geoip
Matthew Wild <mwild1@gmail.com>
parents:
16
diff
changeset
|
1 | local log = require "util.logger".init("geoip"); |
fd7b581560d5
Add error logging when loading geoip
Matthew Wild <mwild1@gmail.com>
parents:
16
diff
changeset
|
2 | |
fd7b581560d5
Add error logging when loading geoip
Matthew Wild <mwild1@gmail.com>
parents:
16
diff
changeset
|
3 | local ok, err = pcall(function () |
16
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 | local city_db_path = os.getenv("GEOIP_CITY_DB"); |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 | if not city_db_path then return; end |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 | |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 | local city_db = assert(require "geoip.city".open(city_db_path)); |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 | |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 | events.add_handler("new-client", function (info) |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 | local ip = info.conn:ip(); |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 | local location = city_db:query_by_addr(ip); |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 | if location then |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 | local l = {}; |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
14 | if location.city_name then |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 | table.insert(l, location.city_name); |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
16 | end |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
17 | if location.region then |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
18 | table.insert(l, location.region); |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
19 | end |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 | if location.country_name then |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
21 | table.insert(l, location.country_name); |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
22 | end |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
23 | conn.location = table.concat(l, ", "); |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
24 | end |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
25 | end); |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
26 | end) |
19
fd7b581560d5
Add error logging when loading geoip
Matthew Wild <mwild1@gmail.com>
parents:
16
diff
changeset
|
27 | |
fd7b581560d5
Add error logging when loading geoip
Matthew Wild <mwild1@gmail.com>
parents:
16
diff
changeset
|
28 | if not ok then |
fd7b581560d5
Add error logging when loading geoip
Matthew Wild <mwild1@gmail.com>
parents:
16
diff
changeset
|
29 | log("warn", "GeoIP loading failed: %s", tostring(err)); |
fd7b581560d5
Add error logging when loading geoip
Matthew Wild <mwild1@gmail.com>
parents:
16
diff
changeset
|
30 | end |