Web user interface of InfoLogger logging system.
It interfaces with the system using two modes:
- Query: Querying historical logs from a database
- Live: Receiving Real-Time logs from a TCP endpoint over InfoLogger protocol (v1.3, v1.4)
- Use upper panel to:
- match and/or exclude filters (Supports SQL Wildcard
%
) - limit the number of logs displayed
- match severity and level
- reset the filters
- match and/or exclude filters (Supports SQL Wildcard
- Show/hide columns by clicking on labels on top of page
- Click "Query" or "Live" button to start the respective mode
- Double click on a log or toggle the inspector view from the bottom right corner to see all fields of the log
- Use arrows keys to navigate quickly between logs
- Download the logs in a file via the top left download icon
nodejs
>=16.x
- InfoLogger MariaDB database for Query mode
- InfoLoggerServer endpoint for Live mode
git clone https://github.com/AliceO2Group/WebUi.git; cd WebUi/InfoLogger
npm install --prod
cp config-default.js config.js
- Modify
config.js
file to set InfoLogger database and endpoint details - Start web app:
npm start
- Open browser and navigate to http://localhost:8080
In order to run queries in the InfoLogger a MariaDB server is required. To run a local MariaDB server that can easily be updated/wiped/configured you will need Docker installed.
- Follow the instructions specific for you platform: docker desktop install
- Create a
compose.yaml
file somewhere on your pc with the following content:
services:
mariadb:
image: mariadb
restart: unless-stopped
ports:
- 3306:3306
environment:
MARIADB_ROOT_PASSWORD: root
# (this is just an example, not intended to be a production configuration)
phpmyadmin:
image: phpmyadmin
restart: unless-stopped
ports:
- 9090:80
environment:
- PMA_HOST=mariadb
This will get you a MariaDB server with phpmyadmin.
Should you ever feel the need to test a specific version of MariaDB then change the image to mariadb:11.5
where 11.5 is the version. By default the compose.yaml will get you the latest MariaDB image.
- Execute the following command in the same directory as the compose.yaml file:
docker compose up -d
this will start the containers and the-d
parameter makes sure you can close your commandline window by running in daemon mode. - You should now be able to visit
http://localhost:9090/
in your browser of choice, enter user and password root to login. - Create the
INFOLOGGER
database by clickingNew
in the phpMyAdmin UI on the left side. - In the phpMyAdmin UI select
SQL
on the top of the page. Then enter the contents of theInfoLogger/docs/database-specs.sql
file in the field and pressing theGo
button. - Edit
config.js
to point to your local database:
mysql: {
host: '127.0.0.1',
user: 'root',
password: 'root',
database: 'INFOLOGGER',
port: 3306,
timeout: 60000,
retryMs: 5000,
},
- Run the InfoLogger and check for the following message in the console:
info: Connection to DB successfully established: 127.0.0.1:3306
InfoLoggerServer can be simulated by running npm run simul
. The dummy server binds localhost:6102
endpoint.
InfoLogger project makes use of two workflows.
- Checks that tests of the project are running successfully on two virtual machines:
ubuntu
macOS
- Make sure that the proposed changes are not reducing the current code-coverage percent
- Sends a code coverage report to CodeCov
- Releases a new version of the project to the NPM Registry under the tag @aliceo2/infologger
- Builds a
tgz
file which contains an archive of the project. This can be used for local repositories installations.