{"id":19653512,"url":"https://github.com/flagarde/elogpp","last_synced_at":"2025-10-10T01:41:38.793Z","repository":{"id":41955233,"uuid":"349410672","full_name":"flagarde/elogpp","owner":"flagarde","description":"Wrapper for elog https://elog.psi.ch/elog/","archived":false,"fork":false,"pushed_at":"2024-06-13T11:32:30.000Z","size":217,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-10T00:18:11.191Z","etag":null,"topics":["cpp","cross-platform","elog","standalone","wrapper"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flagarde.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-03-19T12:10:07.000Z","updated_at":"2023-02-18T16:13:12.000Z","dependencies_parsed_at":"2024-04-12T09:31:29.977Z","dependency_job_id":"8948e557-9bc2-44f5-b252-cc4d9ec16438","html_url":"https://github.com/flagarde/elogpp","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flagarde%2Felogpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flagarde%2Felogpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flagarde%2Felogpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flagarde%2Felogpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flagarde","download_url":"https://codeload.github.com/flagarde/elogpp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240962166,"owners_count":19885443,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","cross-platform","elog","standalone","wrapper"],"created_at":"2024-11-11T15:14:22.132Z","updated_at":"2025-10-10T01:41:33.762Z","avatar_url":"https://github.com/flagarde.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# elogpp\n\nWrapper for elog https://elog.psi.ch/elog/\n\n## Goal\n\nelogpp allows user to send and retrieve/parse entry from an elog server (see example).\n\n\u003e [📖 Documentation](https://flagarde.github.io/elogpp/) [![Docs](https://github.com/flagarde/elogpp/actions/workflows/Docs.yml/badge.svg)](https://github.com/flagarde/elogpp/actions/workflows/Docs.yml)\n\u003c/h1\u003e \n\n[LC]: https://github.com/flagarde/elogpp/actions/workflows/Linux-Clang.yml\n[LCB]: https://github.com/flagarde/elogpp/actions/workflows/Linux-Clang.yml/badge.svg\n\n[LG]: https://github.com/flagarde/elogpp/actions/workflows/Linux-GCC.yml\n[LGB]: https://github.com/flagarde/elogpp/actions/workflows/Linux-GCC.yml/badge.svg\n\n[MC]: https://github.com/flagarde/elogpp/actions/workflows/MacOS-Clang.yml\n[MCB]: https://github.com/flagarde/elogpp/actions/workflows/MacOS-Clang.yml/badge.svg\n\n[MG]: https://github.com/flagarde/elogpp/actions/workflows/MacOS-GCC.yml\n[MGB]: https://github.com/flagarde/elogpp/actions/workflows/MacOS-GCC.yml/badge.svg\n\n[MS]: https://github.com/flagarde/elogpp/actions/workflows/Windows-MSYS2.yml\n[MSB]: https://github.com/flagarde/elogpp/actions/workflows/Windows-MSYS2.yml/badge.svg\n\n[MM]: https://github.com/flagarde/elogpp/actions/workflows/Windows-MSVC.yml\n[MMB]: https://github.com/flagarde/elogpp/actions/workflows/Windows-MSVC.yml/badge.svg\n\n## Builds\n\n|        | Linux Clang | Linux GCC | MacOS Clang | MacOS GCC | Windows M2sys | Windows MSVC |\n|--------|-------------|-----------|-------------|-----------|---------------|--------------|\n| Github |[![Linux Clang][LCB]][LC]|[![Linux GCC][LGB]][LG]|[![MacOS Clang][MCB]][MC]|[![MacOS GCC][MGB]][MG]|[![Windows MSYS2][MSB]][MS]|[![Windows MSVC][MMB]][MM]|\n\n## Use\n\n* Write a configuration file :\n\n```json\n{\n    \"ElogServers\":\n    [\n        {\n            \"Name\":\"Elog\",\n            \"Description\":\"Elog test server\",\n            \"Hostname\":\"localhost\",\n            \"Port\":\"8080\",\n            \"SSL\":false,\n            \"Logbooks\":\n            [\n                {\"Name\":\"demo\", \"Description\":\"demo\"}\n            ]\n        }\n    ],\n    \"ElogUsers\":\n    [\n        {\"Name\":\"toto\",\"Password\":\"123456\"}\n    ]\n}\n```\n\n* Export this configuration :\n```bash\nexport ELOG_CONFIG_PATH=path\nexport ELOG_CONFIG_FILE=Elog.json\n```\n\n## Example :\n```cpp\n#include \"ElogManager.hpp\"\n#include \u003ciostream\u003e\n\nusing namespace elogpp;\n\nint main() \n{\n    ElogManager manager;\n    manager.print();\n    ElogEntry entry= manager.createEntry();\n    std::cout\u003c\u003c\"*****************************************************\"\u003c\u003cstd::endl;\n    std::cout\u003c\u003c\"* 1) Last entry is :                                *\"\u003c\u003cstd::endl;\n    std::cout\u003c\u003c\"*****************************************************\"\u003c\u003cstd::endl;\n    entry.user(\"toto\").to(\"Elog\",\"demo\").receiveEntry(\"last\");\n    entry.print();\n    \n    std::cout\u003c\u003c\"*****************************************************\"\u003c\u003cstd::endl;\n    std::cout\u003c\u003c\"* 2) Now creating a new entry                       *\"\u003c\u003cstd::endl; \n    std::cout\u003c\u003c\"*****************************************************\"\u003c\u003cstd::endl;\n    ElogEntry entry4= manager.createEntry();\n    entry4.setAttribute(\"Type\",\"Problem Fixed\");\n    entry4.setAttribute(\"Category\",\"Other\");\n    entry4.setAttribute(\"Author\",\"Boss\");\n    entry4.setMessage(\"Please say something !\");\n    entry4.user(\"toto\").to(\"Elog\",\"demo\").send(\"V\");\n    entry4.print();\n    \n    std::cout\u003c\u003c\"*****************************************************\"\u003c\u003cstd::endl;\n    std::cout\u003c\u003c\"* 3) Now replying to it                             *\"\u003c\u003cstd::endl;\n    std::cout\u003c\u003c\"*****************************************************\"\u003c\u003cstd::endl;\n    ElogEntry entry2= manager.createEntry();\n    entry2.setAttribute(\"Type\",\"Routine\");\n    entry2.setAttribute(\"Author\",\"Toto\");\n    entry2.setMessage(\"Something !\");\n    entry2.user(\"toto\").to(\"Elog\",\"demo\").replyTo(\"last\").send();\n    entry2.print();\n  \n    \n    std::cout\u003c\u003c\"*****************************************************\"\u003c\u003cstd::endl;\n    std::cout\u003c\u003c\"* 4) Now the last entry is :                        *\"\u003c\u003cstd::endl;\n    std::cout\u003c\u003c\"*****************************************************\"\u003c\u003cstd::endl;\n    ElogEntry entry3= manager.createEntry();\n    entry3.user(\"toto\").to(\"Elog\",\"demo\").receiveEntry(\"last\");\n    entry3.print();\n    \n    std::cout\u003c\u003c\"*****************************************************\"\u003c\u003cstd::endl;\n    std::cout\u003c\u003c\"* 5) I can extract data from the new last entry !   *\"\u003c\u003cstd::endl;\n    std::cout\u003c\u003c\"*****************************************************\"\u003c\u003cstd::endl;\n    std::cout\u003c\u003c\"His Author is : \"\u003c\u003centry.getAttribute(\"Author\")\u003c\u003cstd::endl;\n    std::cout\u003c\u003c\"And he said : \"\u003c\u003centry.getText()\u003c\u003cstd::endl;\n}\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflagarde%2Felogpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflagarde%2Felogpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflagarde%2Felogpp/lists"}