How to fetch_canister_logs of canister under SNS

Hey is there a way to fetch_canister_logs of a canister under SNS?

I tried to used the IC Management (assuming a canister can fetch its own logs) to fetch the logs but it resulted in a route management error.

2 Likes

Hey is there a way to fetch_canister_logs of a canister under SNS?

The log visibility is defined in the log_visibility field of canister_settings and can be one of the following variants:

  • controllers: only the canister’s controllers can fetch logs (default);
  • public: everyone can fetch logs;
  • allowed_viewers (vec principal): only principals in the provided list and the canister’s controllers can fetch logs, the maximum length of the list is 10.

assuming a canister can fetch its own logs

Canister can not fetch its own logs. fetch_canister_logs method can only be called by external users via non-replicated calls, i.e., it cannot be called by canisters, cannot be called via replicated calls, and cannot be called from composite query calls.

Hey @maksym thanks for letting me know… Our canister is now under SNS, so we are planning to raise proposal to change log_visibility to allowed_viewers and pass a vec of principal.

As per the docs to managedappcanistersettings


I cant find the right setting to allowed_viewers please can you share an example on how to do this and pass a vec of principal to be allowed_viewers.

TA!

Hi, this is not yet possible. I will discuss the priority among our team and get back to you next week.

1 Like