LogTranslate


NameLogTranslate JSON
Version 1.3.9 PyPI version JSON
download
home_pagehttps://github.com/5hmlA/PyTools
SummaryA Python library for translate log from log files
upload_time2024-03-22 14:25:21
maintainerNone
docs_urlNone
author5hmlA
requires_python>=3.6
licenseMIT Licence
keywords tools log translate
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## 作用

把日志文件拖动到窗口即可解析日志

## 使用

安装

```commandline
pip install LogTranslate
```

项目根目录 创建 config.py
里面定义字段 translator数组

```commandline
translators = [SysLogTranslator(tag_translators=[BluetoothTranslator(), CrashPatternTranslator()])]
```

SysLogTranslator是将文件中每行字符串解析出 tag,time,pid,msg
SysLogTranslator的参数 tag_translators 是数组 用来解析 各种tag对应的内容
解析tag的基类有

- TagPatternTranslator 通过正则匹配tag然后解析
  ```python
  class CrashPatternTranslator(TagPatternTranslator):
       def __init__(self):
           super().__init__({
               r"AndroidRuntime|FATAL.*|System.err.*": activity_task_translator
           })
      
       def activity_task_translator(tag, msg): # 这里两个参数
           # todo 这里需要过滤包名
           return Log(translated=" ------ %s > %s----- " % (tag, msg), level=Level.e)

  ```

- TagStrTranslator 通过字符串匹配tag然后解析
   ```python
  class BluetoothTranslator(TagStrTranslator):
       def __init__(self):
           super().__init__({
               "BluetoothAdapter": bluetooth_adapter,
           })
          
       def bluetooth_adapter(msg):# 这里一个参数
           # todo 这里需要过滤包名
           return Log(translated=" ------ %s > %s----- " % (tag, msg), level=Level.e)

  ```
- SecStrTagTranslator 解析二级tag
   ```python
   class SecTagDemoTranslator(SecStrTagTranslator):
       def __init__(self):
           super().__init__("DFJ",
                            lambda string: re.search(r"(?P<tag>.*?) *:(?P<msg>.*)", string),
                            [
                                SysLogTranslator({
                                    "sec_tag": self.new_tag
                                })
                            ])

       def new_tag(self, tag, msg):# 这里两个参数
           return Log(translated=msg)
  ```

## 打包成 exe

#### 1 ,项目根目录创建 ui.py

```python

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = PyQt6Window()
    window.show()
    sys.exit(app.exec())
```

#### 2, 执行打包命令

```commandline

pyinstaller -n [name] --hidden-import config -F -w [-i tools.ico] ui.py

```

### 库地址

https://pypi.org/project/LogTranslate/0.1/


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/5hmlA/PyTools",
    "name": "LogTranslate",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "tools log translate",
    "author": "5hmlA",
    "author_email": "jonas.jzy@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/48/86/7f1bcc96d74f8f9a52a3165ae5f8e686bd6a98367e4f31fcbc8ce609368d/LogTranslate-1.3.9.tar.gz",
    "platform": null,
    "description": "## \u4f5c\u7528\r\n\r\n\u628a\u65e5\u5fd7\u6587\u4ef6\u62d6\u52a8\u5230\u7a97\u53e3\u5373\u53ef\u89e3\u6790\u65e5\u5fd7\r\n\r\n## \u4f7f\u7528\r\n\r\n\u5b89\u88c5\r\n\r\n```commandline\r\npip install LogTranslate\r\n```\r\n\r\n\u9879\u76ee\u6839\u76ee\u5f55 \u521b\u5efa config.py\r\n\u91cc\u9762\u5b9a\u4e49\u5b57\u6bb5 translator\u6570\u7ec4\r\n\r\n```commandline\r\ntranslators = [SysLogTranslator(tag_translators=[BluetoothTranslator(), CrashPatternTranslator()])]\r\n```\r\n\r\nSysLogTranslator\u662f\u5c06\u6587\u4ef6\u4e2d\u6bcf\u884c\u5b57\u7b26\u4e32\u89e3\u6790\u51fa tag,time,pid,msg\r\nSysLogTranslator\u7684\u53c2\u6570 tag_translators \u662f\u6570\u7ec4 \u7528\u6765\u89e3\u6790 \u5404\u79cdtag\u5bf9\u5e94\u7684\u5185\u5bb9\r\n\u89e3\u6790tag\u7684\u57fa\u7c7b\u6709\r\n\r\n- TagPatternTranslator \u901a\u8fc7\u6b63\u5219\u5339\u914dtag\u7136\u540e\u89e3\u6790\r\n  ```python\r\n  class CrashPatternTranslator(TagPatternTranslator):\r\n       def __init__(self):\r\n           super().__init__({\r\n               r\"AndroidRuntime|FATAL.*|System.err.*\": activity_task_translator\r\n           })\r\n      \r\n       def activity_task_translator(tag, msg): # \u8fd9\u91cc\u4e24\u4e2a\u53c2\u6570\r\n           # todo \u8fd9\u91cc\u9700\u8981\u8fc7\u6ee4\u5305\u540d\r\n           return Log(translated=\" ------ %s > %s----- \" % (tag, msg), level=Level.e)\r\n\r\n  ```\r\n\r\n- TagStrTranslator \u901a\u8fc7\u5b57\u7b26\u4e32\u5339\u914dtag\u7136\u540e\u89e3\u6790\r\n   ```python\r\n  class BluetoothTranslator(TagStrTranslator):\r\n       def __init__(self):\r\n           super().__init__({\r\n               \"BluetoothAdapter\": bluetooth_adapter,\r\n           })\r\n          \r\n       def bluetooth_adapter(msg):# \u8fd9\u91cc\u4e00\u4e2a\u53c2\u6570\r\n           # todo \u8fd9\u91cc\u9700\u8981\u8fc7\u6ee4\u5305\u540d\r\n           return Log(translated=\" ------ %s > %s----- \" % (tag, msg), level=Level.e)\r\n\r\n  ```\r\n- SecStrTagTranslator \u89e3\u6790\u4e8c\u7ea7tag\r\n   ```python\r\n   class SecTagDemoTranslator(SecStrTagTranslator):\r\n       def __init__(self):\r\n           super().__init__(\"DFJ\",\r\n                            lambda string: re.search(r\"(?P<tag>.*?) *:(?P<msg>.*)\", string),\r\n                            [\r\n                                SysLogTranslator({\r\n                                    \"sec_tag\": self.new_tag\r\n                                })\r\n                            ])\r\n\r\n       def new_tag(self, tag, msg):# \u8fd9\u91cc\u4e24\u4e2a\u53c2\u6570\r\n           return Log(translated=msg)\r\n  ```\r\n\r\n## \u6253\u5305\u6210 exe\r\n\r\n#### 1 \uff0c\u9879\u76ee\u6839\u76ee\u5f55\u521b\u5efa ui.py\r\n\r\n```python\r\n\r\nif __name__ == \"__main__\":\r\n    app = QApplication(sys.argv)\r\n    window = PyQt6Window()\r\n    window.show()\r\n    sys.exit(app.exec())\r\n```\r\n\r\n#### 2\uff0c \u6267\u884c\u6253\u5305\u547d\u4ee4\r\n\r\n```commandline\r\n\r\npyinstaller -n [name] --hidden-import config -F -w [-i tools.ico] ui.py\r\n\r\n```\r\n\r\n### \u5e93\u5730\u5740\r\n\r\nhttps://pypi.org/project/LogTranslate/0.1/\r\n\r\n",
    "bugtrack_url": null,
    "license": "MIT Licence",
    "summary": "A Python library for translate log from log files",
    "version": "1.3.9",
    "project_urls": {
        "Homepage": "https://github.com/5hmlA/PyTools"
    },
    "split_keywords": [
        "tools",
        "log",
        "translate"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "62a2652870fb1b1cb5cd1d41a8d2827625765747f1522d83b1ad1261f15a5f63",
                "md5": "b6199b5d1d4c8eacb408ef8e0f54820e",
                "sha256": "4a3d1f5a9665676627639f3e870b48fee901e2fc400356605ba2ec57b3375dfa"
            },
            "downloads": -1,
            "filename": "LogTranslate-1.3.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b6199b5d1d4c8eacb408ef8e0f54820e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 34801,
            "upload_time": "2024-03-22T14:25:18",
            "upload_time_iso_8601": "2024-03-22T14:25:18.956543Z",
            "url": "https://files.pythonhosted.org/packages/62/a2/652870fb1b1cb5cd1d41a8d2827625765747f1522d83b1ad1261f15a5f63/LogTranslate-1.3.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "48867f1bcc96d74f8f9a52a3165ae5f8e686bd6a98367e4f31fcbc8ce609368d",
                "md5": "cfe19628e7968969aff8254f7d42cd11",
                "sha256": "8973880dec1a6dccace69014076ab0a1d0dd54be0d24cc8b1043fbf5425ccdf0"
            },
            "downloads": -1,
            "filename": "LogTranslate-1.3.9.tar.gz",
            "has_sig": false,
            "md5_digest": "cfe19628e7968969aff8254f7d42cd11",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 31327,
            "upload_time": "2024-03-22T14:25:21",
            "upload_time_iso_8601": "2024-03-22T14:25:21.309673Z",
            "url": "https://files.pythonhosted.org/packages/48/86/7f1bcc96d74f8f9a52a3165ae5f8e686bd6a98367e4f31fcbc8ce609368d/LogTranslate-1.3.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-22 14:25:21",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "5hmlA",
    "github_project": "PyTools",
    "github_not_found": true,
    "lcname": "logtranslate"
}
        
Elapsed time: 0.22933s