JCL (Jaimes Centralized Logging) is an API that allows users to 1. insert log and 2. read log messages - in single or in batches.
This guide is JCL's (Jaimes Centralized Logging) primary user guide when learning to use the JCL API. You will find step-by-step instructions, examples, guidelines, and a comprehensive reference. This guide is continually updated with new topics, edits to existing material, and improvements in how the material is presented.
There are 2 methods to insert a log message. Using Richardson Maturity Model level 2, the insertion of the log/s will be via the URI and HTTP methods, therefore on the address extension of “/POST” we use the POST method to post a log.
There are 4 methods to retrieve a log message or log messages.
Using Richardson Maturity Model level 2, the retrieval of the log/s will be via the URI and HTTP methods.
a. Lastinsertedlogmessage:“/single/get”
b. Lastinsertedlogmessageinjsonformat:“/json/single/get”
c. All the log messages (limit up to 1000): “/batch/get”
d. All the log messages in json format (limit up to 1000): “/json/batch/get”
Go is used as the programming language to develop the webserver.
Go, also known as Golang, is a statically typed, compiled programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson. Go is syntactically similar to C, but with memory safety, garbage collection, structural typing,
and CSP-style concurrency.
Enhanced performance
Compile into a Single Binary
Does Not Need Web Frameworks
Assistance for the IDE and Debugging – various Go plugins
Open-Source Language
Support of the Large Community
Modern Language
MongoDB is used as the database for storing the logs.
MongoDB is a cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schema.
Advantages of MongoDB
1. Schema less − MongoDB is a document database in which one collection holds different documents. Number of fields, content and size of the document can differ from one document to another.
2. Structure of a single object is clear.
3. No complex joins.
4. Deep query-ability. MongoDB supports dynamic queries on documents using a document-based query language that's nearly as powerful as SQL.
5. Tuning.
6. Ease of scale-out − MongoDB is easy to scale.
7. Conversion/mapping of application objects to database objects not needed.
8. Uses internal memory for storing the (windowed) working set, enabling faster access of data.