You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by GitBox <gi...@apache.org> on 2021/12/06 12:56:34 UTC
[GitHub] [beam] AydarZaynutdinov commented on a change in pull request #16120: [BEAM-13333][Playground] Save Python logs to the cache
AydarZaynutdinov commented on a change in pull request #16120:
URL: https://github.com/apache/beam/pull/16120#discussion_r762982261
##########
File path: playground/backend/internal/preparators/python_preparators.go
##########
@@ -15,7 +15,82 @@
package preparators
+import (
+ "beam.apache.org/playground/backend/internal/logger"
+ "bufio"
+ "io"
+ "os"
+)
+
+const (
+ addLogHandlerCode = "import logging\nlogging.basicConfig(\n level=logging.DEBUG,\n format=\"%(asctime)s [%(levelname)s] %(message)s\",\n handlers=[\n logging.FileHandler(\"logs.log\"),\n ]\n)\n"
+)
+
// GetPythonPreparators returns preparation methods that should be applied to Python code
func GetPythonPreparators(filePath string) *[]Preparator {
- return &[]Preparator{}
+ addLogHandler := Preparator{
+ Prepare: addToCode,
+ Args: []interface{}{filePath, addLogHandlerCode},
+ }
+ return &[]Preparator{addLogHandler}
+}
+
+// addToCode processes file by filePath and adds additional code
Review comment:
`writeToFile(to *os.File, str string)` is a method that writes some `str` to file `to`. I need to use this function 2 times:
- write additional code that will configure the python logger.
- write all code from the original file to the temporary file.
So that's why I didn't join methods `writeToFile()` with `writeCodeToFile` (just avoid duplication).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org