I am new to vue js and front end development. How can I direct the console errors and API errors from front end application that is running on user's browser to cloud watch logs.
I know that in Java backend development, we can use log4j to log the errors to a rolling log file and wire those logs to cloudwatch log groups (so I can monitor cloudwatch logs for any potential errors or warnings). How can I have similar functionality for logging console and API errors from front end vue js application to cloud watch logs
There really isn't a great way to do this from a security standpoint. You'd have to expose your cloudwatch log stream to the world essentially.
You can use npm packages like winston-cloudwatch for this fairly easily, but you have to more or less "hardcode" your credentials since a frontend/vue app runs in the users browser. They'll always be able to see the credentials you're sending along which makes them meaningless.
With that being said, there really isn't any risk of someone doing anything malicious besides sending dirty messages to your logs.
What about creating a Lambda endpoint that receives the logs from the vue app and writes them to cloud watch, this way you will be able to log more activities such elements being clicked, or the time each component was shown in the screen.
Related
Hey so I am working with a client, and we are getting ready to release a mobile application on Google Play store. The application requires access to call logs. We submitted the mobile application using a few different permissions and keep getting rejected. Is anyone familiar with this process that could offer some advice?
I can use FCM console to send messages to all users or certain users at a certain time.
Now I want the app send a message to specified users when their in-game energy is full. How to realize it with FCM? And can I know the messages' sends, opens, conversions?
Sending a message to a user can only be done from a trusted environment, such as the Firebase console, or a place where you can trust that the code running is yours (such as your development machine, a server that you control, or something like Cloud Functions/Cloud Run).
For examples of how to send a message by calling FCM's API, see the documentation on building send requests, and this sample use-case of notifying the user when something interesting happens using Cloud Functions.
I'm building an application with Vue and Electron, and I'm wondering what the best approach is for authenticating users.
I'm using JSStore as a wrapper for IndexedDB as my database. I'm familiar with using bcryptjs as a means for authenticating users when I create Node backend and have traditional /login or /signup routes.
But this is where I'm starting to get confused. Do I need to set up a Node server to start up when my application starts up? Because given that I'm using IndexedDB, I don't know that it makes sense to have a process of Sign Up --> Request to Node Server --> Send data back to browser
Would I be better served using a different type of database? Could I do something such as adding bcryptjs to the Vue prototype, so that's it's accessible where I need it to work with JS Store? Are there security concerns that I should be aware of with an approach like that?
At this point I'm stuck, and have more questions than answers. I've done some looking around for articles, and I find a lot of content about setting up authentication with Vue, but not within the context of an Electron application. I'm not sure how that variable changes things.
Any advice or direction would be greatly appreciated.
JsStore is client side technology, which means if you are setting up authentication in client side, it will be available only to that device.
Let's understand it more by use case -
Say your application named My Awesome app has authenticaion implemented. User register it and then they are able to use it after registration. They are logging out and signing in again with registration data and everything is working normal.
Here is what wrong with this approach -
User buys another pc and installed application My Awesome app, he tries to login but unable to login because registration data does not exist on their new PC.
Due to some issue, user hard disk crashed & he installed new hard disk. Same thing as above he is not able to log in.
So it is recommended to implement the signin on some server & keep data there.
Im trying to do the logs . However i follow this documentation
https://github.com/hg-pyun/axios-logger
Im getting the same result but i wanted to ask how can i run it in vuejs like the picture shown? i only see the output in inspector in info. Kindly help how can i run this inceptor in my vuejs
Currently, your Vue app can only print logs to the client, thus, on each user browser's console.
If you need some kind of dashboard to aggregate all production logs, you'll have to consider adding another tool. Such tool will send via http requests all your logs to their own dashboard, which you can consult later to analyse every user's logs.
You may consider using Sentry for example.
I've implemented Safari Push Notifications both server-side and client-side. On the client, after asking for permissions, the callback function is called with permission "denied".
On the server-side, the logs show that a request for the push package has been made and returns a 200, but a few seconds later the /v1/log endpoint is called with no payload.
Does anyone have an idea how to debug this?
May help following guide and push package creator.
browser-push
A helpful tip is to look in the System Log, from the Console app. Safari shows messages in there.
Another reason for my issue is realted to Django, which as 1.5 doesn't show non-form data in request.POST, but in request.body.