Coder Social home page Coder Social logo

logging_server's People

Contributors

geson-anko avatar subaru8556 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

logging_server's Issues

Auto run all dev tools

pytest, mypy, black, isort,flakeを全てを1つのコマンドで実行できるようにしてください。
以下の記事を参考にしてください。
https://data.gunosy.io/entry/linter_option_on_pyproject

評価

  • pytest, mypy, black, isort,flakeが1つのコマンドで実行できること
  • コマンドの長さが25文字以内であること
  • WindowsとLinuxどちらでも実行可能な方法があること(ファイルを2つにしても良い)

ver 1.0.0

  • logger modifierの機能を削除
    LogRecordStreamHandlerにおける各ロガーを取得する処理を消すため
    また、ログレコードのハンドル処理はserver.loggerを用いて行う

  • server.lognameに名前を指定

  • SocketLoggerの内部ロガーをlogging.getLoggerの返り値に変更

self.server_thread attribute is None before process start.

Exception ignored in: <function LoggingServer.__del__ at 0x10306baf0>
Traceback (most recent call last):
  File "/Users/geson/JProjects/logging_server/logging_server/server.py", line 58, in __del__
  File "/Users/geson/JProjects/logging_server/logging_server/server.py", line 54, in shutdown
AttributeError: 'NoneType' object has no attribute 'join'

README_LoggingStructure

こんな感じの図をREADME.mdの末尾に書いてください。
IMG_1015

大まかな進め方は、

  1. このリポジトリをクローン
  2. devブランチへ移動
  3. このissue名(README_LoggingStructure)でブランチをきる
  4. README.mdを編集し、私のdevブランチへプルリクエストを送信する
  5. 調整
  6. マージ

Install dev_tools (flake8, black, isort, mypy)

flake8などの開発者用のコードチェック、補完、テストコードの実行を行うツールをインストールしてください。
基本的には以下のサイトを参考にしています。
https://data.gunosy.io/entry/linter_option_on_pyproject

インストールするもの

  • pyproject-flake8: 文法チェックを行うツール
  • black: ソースコードを自動で整形するツール
  • isort: import文を自動で整頓するツール
  • mypy: 型アノテーションをもとに型チェックを行うツール
  • (pytestは既にインストール済み)

手順

  1. git merge upstream/dev でフォーク元の変更をマージ
  2. poetry add -D pyproject-flake8 black isort mypyを実行し、インストール
  3. 上記のサイトを参考にpyproject.tomlに一般的な設定を追加
  4. 3までの変更履歴をinstall/dev_toolsブランチを切ってプルリクエスト
  5. logging_server/logging_server以下の全てのファイルに対し、poetry run ツール名の形でpflake8, black, isort,mypy, pytestを実行し、修正する
  6. 一つのファイルに対し、何も修正点が出なくなれば、formatted/ファイル名でブランチを切り、そこにそのファイルの変更のみコミットしてプルリクエストを送信する
  7. プルリクエストのメッセージは、どのような変更が起きたか簡潔に記述する

Can not terminate test_mp_logging.py

使用している名前空間の外からLoggerを参照するとメインスレッドを終了できなくなります。KeyboardInterruptで抜け出すことが出来ますが、解決策は分かりません。

Exception ignored in: <module 'threading' from '/path/to/miniforge3/envs/LoggingServer/lib/python3.9/threading.py'>
Traceback (most recent call last):
  File "/path/to/miniforge3/envs/LoggingServer/lib/python3.9/threading.py", line 1470, in _shutdown
    lock.acquire()
KeyboardInterrupt:

With statement

with LoggingServer(): # start logging server
    ... # processings...
# shutdown logging server

Auto Test on GitHub Actions

Githubにpull request (またはコミット)する際に自動でpytest(mypyやisortも)を実行するようにします。
また、テストエラーが発生した場合はmergeできないようにします。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.