Jelajahi Sumber

Add some fixes.

Cixo Develop 1 Minggu lalu
induk
melakukan
3d03c1ad9b
5 mengubah file dengan 31 tambahan dan 21 penghapusan
  1. 1 0
      source/logger.py
  2. 1 1
      source/logs_manager.py
  3. 2 2
      source/sync_logger.py
  4. 23 14
      tests/001-handler.py
  5. 4 4
      tests/003-dir.py

+ 1 - 0
source/logger.py

@@ -124,5 +124,6 @@ class logger:
         """
 
         self.__handlers.add(target)
+        return self
 
 

+ 1 - 1
source/logs_manager.py

@@ -63,7 +63,7 @@ class logs_manager:
 
         return tuple(self.iter_logs())
 
-    def iter_logs(self) -> typing.Generator[pathlib.Path]:
+    def iter_logs(self) -> typing.Iterator[pathlib.Path]:
         """
         That generator iterate all logs in the log directory.
 

+ 2 - 2
source/sync_logger.py

@@ -41,7 +41,7 @@ class sync_logger(logger):
         
         self.log(levels.info, *args, **kwargs)
 
-def warning(self, *args, **kwargs) -> None:
+    def warning(self, *args, **kwargs) -> None:
         """
         That log warning level message.
 
@@ -73,7 +73,7 @@ def warning(self, *args, **kwargs) -> None:
 
         self.log(levels.error, *args, **kwargs)
     
-def critical(self, *args, **kwargs) -> None:
+    def critical(self, *args, **kwargs) -> None:
         """
         That log critical level message.
 

+ 23 - 14
tests/001-handler.py

@@ -10,29 +10,38 @@ sys.path.append(str(project_dir))
 
 import source
 
-class logger(source.handler):
-    async def write(self, content: str) -> None:
-        await self._to_file(content)
-        await self._to_stdout(content)
-        await self._to_stderr(content)
+class sample_handler(source.handler):
+    def add(self, content: str) -> None:
+        print(content)
 
 log = tests_dir / pathlib.Path("x.log")
 
 if log.is_file():
     log.unlink()
 
-loging = logger(log)
+sample = sample_handler()
+stderr = source.stderr_handler()
+file = source.file_handler(log)
 
-async def main():
-    await loging.write("That is so simple: " + str(random.randrange(1, 20)))
 
-async def core():
-    alls = list()
+def main() -> None:
+    sample.add("Sample")
+    sample.add("STDERR")
+    file.add("That is file content")
+    
+async def async_main() -> None:
+    await sample.adding("Sample async")
+    await stderr.adding("STDERR async")
+    await file.adding("file async")
 
-    for count in range(2000):
-        alls.append(main())
+def result() -> None:
+    global file
+    del file
 
-    await asyncio.gather(*alls)
+    with log.open("r") as handler:
+        print(handler.read())
 
 if __name__ == "__main__":
-    asyncio.run(core())
+    main()
+    asyncio.run(async_main())
+    result()

+ 4 - 4
tests/003-dir.py

@@ -8,11 +8,11 @@ sys.path.append(str(project_dir))
 
 import source
 
-logger = source.sync_logger()
-logger.use_handler(source.stdout_handler())
+directory = source.logs_manager(tests_dir / pathlib.Path("logs"))
 
-directory = source.log_directory(tests_dir / pathlib.Path("logs"))
-logger.use_handler(directory.get_new_handler())
+logger = directory \
+    .get_logger(source.sync_logger) \
+    .use_handler(source.stdout_handler())
 
 logger.info("That work!")