Open mjadhav1 opened 6 years ago
Summary for February 1st.
Doing/Done: Read Log4j java documentation
Summary for February 2nd.
Doing/Done: POC on Appender object
Until Feb 18th:
Any document about your table schema design? Is this table only use for logging purpose, or it will be retrieved by other modules? Do you think about the read/write contention in this case? Is the log store in a single table? How many logs do you think a user can generate per day? What happens if the records go above million? Think about all these cases and do a brainstorm by your own, you will discover a lot issues. Then these things become your design decision as well as your unit/integration test cases.
I have uploaded the table schema design document(AppliedProject_logger.pptx) at the time of creating an issue on GitHub. This table is only used for logging purpose. None of the modules fetches records from the Logs table. Logs are stored only in the single table. MySQL can easily handle millions of records. You can check the documentation here(https://dev.mysql.com/doc/mysql-reslimits-excerpt/5.7/en/column-count-limit.html)). We can achieve table data every day or a week and truncate the existing table. As I am using log4j 2 framework, it can handle async requests. Log4j 2 provides various features. See the documentation here(https://logging.apache.org/log4j/2.x/manual/index.html). The performance of the log4j 2 is described here(https://logging.apache.org/log4j/2.x/performance.html).
Please find the logger design document and review it. Please let me know if you guys have any questions.
I have one question for @tobielf, as we are logging with separate logger levels for assembling(Level-ASSEMBLE) and simulator part (Level-SIMULATOR). If there is an error while assembling, shall I log using level ERROR or you want ERROR1, ERROR2?
This task involves various subtasks:
Research on various logger implementations. After an extensive research, I have finalized the way to proceed with the task. I have taken the help from http://www.codejava.net/coding/how-to-configure-log4j-as-logging-mechanism-in-java and [https://www.tutorialspoint.com/log4j/log4j_sample_program.htm]()
Research on xAPI support for the logger implementation.
Design the use case for the logger implementation.
Implement the logger
Write the DB queries with the help of Shirish. eg Store procedure to insert the log in the Log table, a query to retrieve the logging-related information from the Log table etc.
Unit and Integration Testing
PFA
AppliedProject_logger.pptx