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 11:11:51 UTC

[GitHub] [beam] KhaninArtur commented on a change in pull request #16120: [BEAM-13333][Playground] Save Python logs to the cache

KhaninArtur commented on a change in pull request #16120:
URL: https://github.com/apache/beam/pull/16120#discussion_r762910883



##########
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:
       @ilya-kozyrev probably, we can join `writeCodeToFile` with `writeToFile`, but I don't think that this is a good idea to join `addToCode` and `writeCodeToFile`. `writeCodeToFile` contains a nicely extracted dedicated logic and greatly increases readability of `addToCode` method.




-- 
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