|
| 1 | +import logging |
| 2 | + |
1 | 3 | from hapiclient import hapi |
2 | 4 |
|
3 | 5 | server = 'http://hapi-server.org/servers/TestData2.0/hapi' |
|
6 | 8 | start = '1970-01-01T00:00:00' |
7 | 9 | stop = '1970-01-01T00:01:00' |
8 | 10 |
|
9 | | -method = 3 |
10 | | - |
11 | | -# 1. Log to console using logging keyword (legacy) |
12 | | -if method == 1: |
13 | | - data, meta = hapi(server, dataset, parameters, start, stop, logging=True) |
14 | 11 |
|
15 | | -# 2. Log to console using Python's standard logging module |
16 | | -if method == 2: |
17 | | - import logging |
18 | | - logger = logging.getLogger("hapiclient") |
19 | | - logger.setLevel(logging.INFO) |
20 | | - handler = logging.StreamHandler() |
21 | | - formatter = logging.Formatter("%(asctime)s [%(name)s] %(message)s", datefmt="%Y-%m-%dT%H:%M:%S") |
22 | | - formatter.default_msec_format = '%s.%03d' |
23 | | - handler.setFormatter(formatter) |
24 | | - logger.addHandler(handler) |
25 | | - data, meta = hapi(server, dataset, parameters, start, stop) |
26 | | - |
27 | | -# 3. Log to a file using Python's standard logging module |
28 | | -if method == 3: |
29 | | - import logging |
| 12 | +def reset_hapiclient_logging(): |
30 | 13 | logger = logging.getLogger("hapiclient") |
31 | | - logger.setLevel(logging.INFO) |
32 | | - handler = logging.FileHandler("hapi_logging_demo.log") |
33 | | - formatter = logging.Formatter("%(asctime)s %(message)s", datefmt="%Y-%m-%dT%H:%M:%S") |
34 | | - formatter.default_msec_format = '%s.%03d' |
35 | | - handler.setFormatter(formatter) |
36 | | - logger.addHandler(handler) |
37 | | - data, meta = hapi(server, dataset, parameters, start, stop) |
38 | | - |
39 | | - # Note that logging keyword is ignored when using Python's standard logging module. |
40 | | - data, meta = hapi(server, dataset, parameters, start, stop, logging=False) |
| 14 | + for handler in list(logger.handlers): |
| 15 | + logger.removeHandler(handler) |
| 16 | + handler.close() |
| 17 | + logger.setLevel(logging.NOTSET) |
| 18 | + logger.propagate = False |
| 19 | + if hasattr(logger, "_hapiclient_internal_level"): |
| 20 | + delattr(logger, "_hapiclient_internal_level") |
| 21 | + |
| 22 | + |
| 23 | +for method in range(1, 7): |
| 24 | + |
| 25 | + reset_hapiclient_logging() |
| 26 | + |
| 27 | + print(80*"-") |
| 28 | + print("Method {}: ".format(method)) |
| 29 | + print(80*"-") |
| 30 | + |
| 31 | + # 1. Log to console using logging keyword (legacy) |
| 32 | + if 1 <= method <= 3: |
| 33 | + if method == 1: |
| 34 | + # No logging kwarg, so no logging |
| 35 | + data, meta = hapi(server, dataset, parameters, start, stop) |
| 36 | + if method == 2: |
| 37 | + # Use internal logging because logging=True and no standard logging handlers defined |
| 38 | + data, meta = hapi(server, dataset, parameters, start, stop, logging=True) |
| 39 | + if method == 3: |
| 40 | + # No logging because logging=False and no standard logging handlers defined |
| 41 | + data, meta = hapi(server, dataset, parameters, start, stop, logging=False) |
| 42 | + |
| 43 | + # 2. Log to console using Python's standard logging module |
| 44 | + if 4 <= method <= 6: |
| 45 | + import logging |
| 46 | + logger = logging.getLogger("hapiclient") |
| 47 | + logger.setLevel(logging.INFO) |
| 48 | + handler = logging.StreamHandler() |
| 49 | + formatter = logging.Formatter("%(asctime)s [%(name)s] %(message)s", datefmt="%Y-%m-%dT%H:%M:%S") |
| 50 | + formatter.default_msec_format = '%s.%03d' |
| 51 | + handler.setFormatter(formatter) |
| 52 | + logger.addHandler(handler) |
| 53 | + |
| 54 | + if method == 4: |
| 55 | + # Use standard logging because defined |
| 56 | + data, meta = hapi(server, dataset, parameters, start, stop) |
| 57 | + if method == 5: |
| 58 | + # Use standard logging because defined |
| 59 | + data, meta = hapi(server, dataset, parameters, start, stop, logging=True) |
| 60 | + if method == 6: |
| 61 | + # Warning because standard logging defined but logging=False |
| 62 | + data, meta = hapi(server, dataset, parameters, start, stop, logging=False) |
| 63 | + |
| 64 | + print(80*"-" + "\n") |
0 commit comments