Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add notify log #65

Open
lvelvee opened this issue Dec 14, 2021 · 6 comments
Open

add notify log #65

lvelvee opened this issue Dec 14, 2021 · 6 comments
Labels
enhancement New feature or request

Comments

@lvelvee
Copy link

lvelvee commented Dec 14, 2021

💡 The Idea

add a simple dashboard to show notify log

🔨 Breaking Feature

maybe django admin is a good idea

@lvelvee lvelvee added the enhancement New feature or request label Dec 14, 2021
@lvelvee
Copy link
Author

lvelvee commented Dec 17, 2021

Any plans to add persistent profiles and send records?

@caronc
Copy link
Owner

caronc commented Dec 17, 2021

Sorry for the delays. It's not that I'm ignoring you. I just haven't had time to have a further look into this. Hopefully on the weekend that will change.

Any plans to add persistent profiles and send records?

Persistent storage already exists. But I guess you mean enabling Django Auth and hide them behind accounts?

As per the logs, this is doable but I would think Python logging to disk might not be as efficient as maybe just letting nginx write to the same persistent storage location as the //config maybe instead? That way it's just available to the administrator?

@lvelvee
Copy link
Author

lvelvee commented Dec 17, 2021

Thank you very much for your reply, I'm very interested in this project, I've only read some code so far because api/views.py is too long and some parts are a bit verbose. Please forgive me if there are some parts I didn't read carefully.

I guess what we are missing is a dashboard to view or manage apprise call logs, nginx logs do do that but obviously not easy to manage.

On the other hand, apprise calls can fail and we need these logs to troubleshoot problems. Adding a retry mechanism to include a queue seems to run counter to the lightweight design.

Maybe I need to reconsider it ....

@caronc
Copy link
Owner

caronc commented Dec 28, 2021

No need to reconsider; I love feedback.

I just need to think about it a bit more. The problem is that there already is logging in place but it's at the web hosting level. I get that you'd like to gather more usage statistics i think...

  • query made
  • how many services were notified
  • when and using which key
  • how many failed, etc

This is the kind of useful stuff that would go into a database or some key/value store (nosql) solution. With a backend, then you can also add user authentication, etc. Quiet honestly even a message broker would be useful so that the notifications are sent/handled after your POST request (not during).

I'll ponder just the logging idea; but with the current design; i can't think of a simple way to do it (without starting the steps identified above). Consider that there could be concurrent hits for notification to be sent as well. So just writing to a view-able log file (retrievable through a Django view) would involve semaphore/mutex (locking) etc which may not be the most ideal approach.

Those are just my thoughts out loud though... 🙂

@lvelvee
Copy link
Author

lvelvee commented Dec 30, 2021

Thanks a lot @caronc , it's really not necessary to integrate too much in apprise-api, but providing data for prometheus seems to work, I'll try it sometime.😊

@caronc
Copy link
Owner

caronc commented Dec 28, 2023

This request aligns with #143

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants