@@ -1907,7 +1907,7 @@ msgstr ""
19071907
19081908#: ../../howto/logging-cookbook.rst:1493
19091909msgid "Using concurrent.futures.ProcessPoolExecutor"
1910- msgstr ""
1910+ msgstr "使用 concurrent.futures.ProcessPoolExecutor "
19111911
19121912#: ../../howto/logging-cookbook.rst:1495
19131913msgid ""
@@ -1918,7 +1918,7 @@ msgstr ""
19181918
19191919#: ../../howto/logging-cookbook.rst:1499
19201920msgid "queue = multiprocessing.Queue(-1)"
1921- msgstr ""
1921+ msgstr "queue = multiprocessing.Queue(-1) "
19221922
19231923#: ../../howto/logging-cookbook.rst:1503
19241924msgid "you should use"
@@ -4250,6 +4250,8 @@ msgid ""
42504250"2015-10-17 12:53:29,501 The local time is Sat Oct 17 13:53:29 2015\n"
42514251"2015-10-17 13:53:29,501 The local time is Sat Oct 17 13:53:29 2015"
42524252msgstr ""
4253+ "2015-10-17 12:53:29,501 The local time is Sat Oct 17 13:53:29 2015\n"
4254+ "2015-10-17 13:53:29,501 The local time is Sat Oct 17 13:53:29 2015"
42534255
42544256#: ../../howto/logging-cookbook.rst:3296
42554257msgid ""
@@ -5011,6 +5013,13 @@ msgid ""
50115013"i = 1\n"
50125014"logger.debug('Message %d', i, extra=extra)"
50135015msgstr ""
5016+ "sd = {\n"
5017+ " 'foo@12345': {'bar': 'baz', 'baz': 'bozz', 'fizz': r'buzz'},\n"
5018+ " 'foo@54321': {'rab': 'baz', 'zab': 'bozz', 'zzif': r'buzz'}\n"
5019+ "}\n"
5020+ "extra = {'structured_data': sd}\n"
5021+ "i = 1\n"
5022+ "logger.debug('Message %d', i, extra=extra)"
50145023
50155024#: ../../howto/logging-cookbook.rst:3915
50165025msgid "How to treat a logger like an output stream"
@@ -5102,6 +5111,11 @@ msgid ""
51025111"WARNING:demo:Bar\n"
51035112">>>"
51045113msgstr ""
5114+ ">>> print('Foo')\n"
5115+ "INFO:demo:Foo\n"
5116+ ">>> print('Bar', file=sys.stderr)\n"
5117+ "WARNING:demo:Bar\n"
5118+ ">>>"
51055119
51065120#: ../../howto/logging-cookbook.rst:3987
51075121msgid ""
@@ -5175,6 +5189,22 @@ msgid ""
51755189" for part in parts:\n"
51765190" self.logger.log(self.level, part)"
51775191msgstr ""
5192+ "class BufferingLoggerWriter(LoggerWriter):\n"
5193+ " def __init__(self, logger, level):\n"
5194+ " super().__init__(logger, level)\n"
5195+ " self.buffer = ''\n"
5196+ "\n"
5197+ " def write(self, message):\n"
5198+ " if '\\ n' not in message:\n"
5199+ " self.buffer += message\n"
5200+ " else:\n"
5201+ " parts = message.split('\\ n')\n"
5202+ " if self.buffer:\n"
5203+ " s = self.buffer + parts.pop(0)\n"
5204+ " self.logger.log(self.level, s)\n"
5205+ " self.buffer = parts.pop()\n"
5206+ " for part in parts:\n"
5207+ " self.logger.log(self.level, part)"
51785208
51795209#: ../../howto/logging-cookbook.rst:4043
51805210msgid ""
@@ -5193,6 +5223,14 @@ msgid ""
51935223"WARNING:demo: 1/0\n"
51945224"WARNING:demo:ZeroDivisionError: division by zero"
51955225msgstr ""
5226+ "WARNING:demo:Traceback (most recent call last):\n"
5227+ "WARNING:demo: File \" /home/runner/cookbook-loggerwriter/main.py\" , line 55, "
5228+ "in <module>\n"
5229+ "WARNING:demo: main()\n"
5230+ "WARNING:demo: File \" /home/runner/cookbook-loggerwriter/main.py\" , line 52, "
5231+ "in main\n"
5232+ "WARNING:demo: 1/0\n"
5233+ "WARNING:demo:ZeroDivisionError: division by zero"
51965234
51975235#: ../../howto/logging-cookbook.rst:4059
51985236msgid "Patterns to avoid"
@@ -5314,7 +5352,7 @@ msgstr ""
53145352
53155353#: ../../howto/logging-cookbook.rst:4136
53165354msgid "Other resources"
5317- msgstr ""
5355+ msgstr "其他資源 "
53185356
53195357#: ../../howto/logging-cookbook.rst:4140
53205358msgid "Module :mod:`logging`"
0 commit comments