Our system is maintaining a membership log in the civicrm_membership_log table, even though detailed logging is switched off. This could actually be quite useful since I have been asked for some historical membership statistics, but before using it I would like to know:

  1. Is this log reliable? I.e. is it correct that it is active, or is it possible that there will be some unannounced change that turns it off?
  2. Is there a reason for this particular log being maintained?
  3. Is it possible to switch it on and off, separately from the full detailed logging?

2 Answers 2


1/ afaik yes it is reliable, it writes a row for every membership status change 2/ yes (not a super helpful answer since i can't explain the reason!) 3/ not afaik.

And mostly I answered above in order to also provide links to these options you may find useful

https://lab.civicrm.org/extensions/contactmembershiplog which lets you expand the membership log for any single membership on the contact's membership tab



  • Thank you for that. I did see your last link, but it did not seem to me to do what the title implied - but I'll have another look at them all.
    – user6274
    Commented Dec 7, 2021 at 13:56
  • Hello again. Thanks for the links, but I'm afraid I only had partial success. Contact Membership Log looks potentially useful, but doesn't show anything on the Membership summary tab - unless there is a setting I've missed. The Past Members report works Ok, and looks useful. It is certainly helpful to see how to get "Active On" from the Membership Log data, which was not obvious to me. The report from Agileware just gives a selected printout from the log, which as far as I can see does not allow one to answer the questions advertised in the blog title, at least not at all easily.
    – user6274
    Commented Dec 7, 2021 at 16:10
  • the member log extension means if you look at the Membership tab, there should be an expand > on each membership for that person, that shows the history
    – petednz - fuzion
    Commented Dec 7, 2021 at 21:11

Regarding question 2, iirc we added this when we made some changes to membership status and membership type handling perhaps 8-10 years ago. There were problems tracing what had happened to particular memberships and I thought this might be useful both for debugging and potentially for users. There were issues with automatically merging memberships of different types at renewal time, during a grace period, then after full expiry. So: historical artifact.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.