How to manage a Plugin Specific Logging page in JIRA UI

Hello Developers,

I am developing a custom plugin for Jira Server/DC. The plugin basically has a Listener module which may succeed/ fail to execute due to numerous reasons (permissions/conditions etc).

I want to display the Logs of this Plugin to the end-user in a custom web-section.
I am not sure which is the best place to “Store the logs”.

As far as I know the possible places to store logs are atlassian-jira.log file itself, custom log file, custom AO table.

Can you please recommend the best solution for me considering the below criteria’s.

  • Logs should be rotated
  • Searchable from UI wrt to Date/ Severity/ User
  • Implement this with minimum development efforts.

Any inputs would be really appreciated.

Thanks,
Majo

I think in your case AO would be the best choice.

@AlexeyDorofeyev : Thank you for the inputs… AO would be best approach in terms of searchability. Any ideas on how I can implement ‘log rotation’ using AO ?

I am fairly new to AO modules. Do I need to take care of ‘AO upgrades’ ?

Is it when user is upgrading Jira OR is it in case I decide to change the AO table structure ??

AO upgrades is for updating table structure, or tasks like data migration.

What’s your requirements for log rotation? How it should work?

Ok. Then I dont have to worry about AO upgrades if I plan the Table structure correctly now.

Regarding Log Rotation : like the logs in atlassian-jira.log file, I need to keep adding logs as rows to AO table ( columns I have planned now : User, Date, Severity, Log message). As it grows over time, say max 500 rows per day, I want it to load fine for the last say 2-3 weeks without putting much load on Jira. Mainly I am concerned about possible performance impacts.

You can create a scheduled job, that will run every day/week/month and delete log messages that is older than specified period, or delete all messages except last 10 000.

ok sounds a like a good idea… Thank you…