How to make flask/quart server logs more readable? - rest

We all run to check server logs when we face some errors/discrepancy in the system. I was curious is there any way to beautify and more flask/quart server logs more readable ?
ps: from beautify I mean we can use different colours for assertions(eg. yellow), exceptions(eg. orange), errors(eg. red).

Related

LIBUSB for FTDI2232 to use I2C mode

Please help me to support this question:
Due to, we have used FTDI2232H and need to use “LIBUSB" to control FTDI2232H.
I want to ask How to control FTDI2232H related programs/code through LIBUSB.
1.To change MPSS mode to interface2?
2.To open iic and init it?
3.To set clock rate & set master mode?
4.The master write I2C code to slave ?
5.The master read I2C code from slave ?
I want to know how to use LIBUSB(libusb_bulk_transfer、libusb_control_transfer) to control FTDI2232H?
Please anyone can help me to solve my problem,I can not get full information from vendor here!!!
You can try this open-source library to talk with the FTDI: https://github.com/lipro/libftdi
Download and unzip it and then just follow the procedure on the README.
Once you finish it, if you are on build you can:
cd examples
make
Now you just load your examples on the terminal like using './'
You can also modify as you want and then remake those examples.

My Node Red dashboard disappeared, my app says "not running" but won't restart

I am starting from the position of near absolute ignorance here.
I successfully set up a Bluemix account, added devices, got API keys, connected my Raspberry Pi running Node Red and a temperature sensor to Node Red on Bluemix, created a dashboard and was able to get data back and forth between Watson/Bluemix and my Pi. Cool. Unfortunately, I got all that way without ever really understanding the navigation of Watson/Bluemix nor all the terminology. I made NR work both ways and was happy.
Then one day last week, the route to my Bluemix Node Red application stopped being accessible:
404 Not Found: Requested route ('misterpi-01.mybluemix.net') does not exist.
I can browse my devices and see that they are sending data every few minutes, so clearly the connection is there. When I click on IBM Cloud Apps, I am told
There are no IBM Cloud applications bound to your organization
When I am on my IBM Cloud Dashboard and I click on Connections I see I have a connected application that is "Not Running" with a red dot. I can click Stop and the status goes to Stopped. When I click Start, after a short while,
I cannot add an another app because I can only have one.
Where did my NR app go and can I get it back (preferred) and if not, delete it?
At the suggestion of #hardillb I went looking for logs. I found them and it looks like the app is continuously started and crashing. I can't copy the text from the error logs but here is a screenshot.
The first thing you should do is get a copy of your flow source for backup. Go into the IBM Cloud Dashboard and click on Cloudant-ll (the suffix may be different?) and then Launch Cloudant Dashboard (alternatively, click on ...-cloudantNoSQLDB and then alias of Cloudant-ll). From there click on NodeRed and then select the id that ends with "/flow". Then you can extract everything inside "flow": [].
I would recommend emptying it out so you have no flows to ensure that Bluemix can start 'empty'. If you do this you will end up with something similar to mine below (don't change _rev).
{
"_id": "Home Assistant/flow",
"_rev": "102-2b38e1756eeb26def19b20858bc50a40",
"flow": []
}
Later you can paste the extracted code back into Node Red using Import > Clipboard.
You may also want to edit the ".../settings" document to remove any extra node types you installed.
Caveat - I had the same problems with Bluemix and eventually gave up - crashing at least weekly running out of memory and difficulty restarting. I suspect it can't reliably run with 256MB.
I had similar issues with log/errors and endpoint 404:
I followed Michaels advice to backup (nodered:flows and settings) in cloudant.
1. However what works(for now) was cleaning part of the nodered /settings.
2. Basically I removed the nodes part from the Json up until almost the end, leave _credentialSecret part at the end.
3. restart and go to your url, you will see your flows
4. if your flows use some nodes that produce warnings, it might be necessary to remove them to avoid future problems.
UPDATE 2: I saved every flow separately, and then deleted them all from the nodered flows. Then restarted, and have been importing one by one, and it is working.

RubyMine connect to database

I'm using latest version of RubyMine and when I try to connect to my docker container database, I see the database, but not any of the tables etc.
If I use an external program such as Psequal using the exact same credentials, it works fine so I know I'm using the correct credentials, IP address etc.
I have raised an issue with JetBrains, but can anyone shed any light on why I'm not seeing the tables?
Figured it out. in the data source properties window (either when creating the data source or by right clicking->properties)
Go to options and tick the box "Introspect using JDBC meta data"
Click apply and you see a downloading progress bar
Once completed, the tables and everything else is viewable.

Labels on figures fail to display in a deployed Matlab application

I have a Matlab application deployed using Builder JA. I incorporated it into a larger Java-based web application. It was built on a Windows machine, which has actual matlab on it, and worked fine when I tested it there. I've deployed the application onto a Linux server, which has only the MCR on it. what happens now is that I can run the application via the web page, but the resulting graphs display only the graphics and not the text (title, axis labels, etc). This happens both when I use WebFigure(gcf) and when I use figtoImStream(gcf, jpg), so I don't think it's an issue with any one format. The issue seems to be in the hardcopy.p function, since the server logs show an error
{Warning: Failed to draw text string}
{> In /usr/local/MATLAB/MATLAB_Compiler_Runtime/v717/toolbox/matlab/graphics/hardcopy.p>hardcopy at 28
In compiler/private/hardcopyOutput at 58
In figToImStream at 73
In Gaussian_WBfigures_jpg at 635}
I've seen some things that suggest that this is an issue of Matlab looking for a font that isn't there, and some that suggest that this is an issue with the renderer. Does anyone have a solution for this?
Try plotting your labels with a different fonts or interpreters. there have been reports of bugs in matlab when printing with different interpreters. e.g. http://www.mathworks.com/support/bugreports/398506, http://www.mathworks.com/support/bugreports/309380
figure
text(0.5,0.5,'testa','Fontname','Arial')
text(0.5,0.6,'testa','Fontname','Times')
text(0.5,0.7,'testa','Fontname','Times','Interpreter','Tex')
text(0.5,0.8,'testa','Fontname','Times','Interpreter','Latex')

Can an Adobe AIR Application run via the command line output to console?

I have an AIR application that takes command-line arguments via onInvoke. All is good, but I cannot figure out how to print some status messages back to the user (to stdout / console, so to speak). Is it possible?
Even a default log file for traces would be fine, but I can't find any info about it anywhere. Do I need to create my own log file? Now that'd be silly.
Take a look at CommandProxy. It is a low level wrapper around your AIR application that lets you send command from AS3 back to the proxy for communicating with the underlying OS. You should be able to add a means of writing to the command line via such a method.
I don't think that is possible, but I'm not completely sure though.
There is a flashlog.txt file which you can configure so all trace() statements are logged to it. Check this post http://www.digitalflipbook.com/archives/2005/07/trace_from_the.php for more info on how to set it up. This is for logging from the browser, but I'm pretty sure it should also work from an air app.
Additionally, you could use SOS MAX from Powerflasher to log to an external console through an XML socket.
By default, trace() will output to stdout.
Your AIR application is one, big trace window if you want it to be.