package Alog.Logger is
type Instance (Init : Boolean) is tagged limited private;
type Handle is access all Instance;
Facility_Not_Found : exception;
Facility_Already_Present : exception;
Transform_Not_Found : exception;
Transform_Already_Present : exception;
Default_Facility_Name : constant String := "__Default_Facility";
procedure Attach_Facility
| ( | Logger | : in out Instance; |
| Facility | : Facilities.Handle); |
procedure Attach_Default_Facility
| ( | Logger | : in out Instance); |
procedure Detach_Facility
| ( | Logger | : in out Instance; |
| Name | : String); |
procedure Detach_Default_Facility
| ( | Logger | : in out Instance); |
procedure Update
| ( | Logger | : Instance; |
| Name | : String; | |
| Process | : not null access procedure (Facility_Handle : Facilities.Handle) |
procedure Iterate
| ( | Logger | : Instance; |
| Process | : not null access procedure (Facility_Handle : Facilities.Handle) |
procedure Attach_Transform
| ( | Logger | : in out Instance; |
| Transform | : Transforms.Handle); |
procedure Detach_Transform
| ( | Logger | : in out Instance; |
| Name | : String); |
procedure Update
| ( | Logger | : Instance; |
| Name | : String; | |
| Process | : not null access procedure (Transform_Handle : Transforms.Handle) |
procedure Iterate
| ( | Logger | : Instance; |
| Process | : not null access procedure (Transform_Handle : Transforms.Handle) |
procedure Clear
| ( | L | : in out Instance); |
procedure Free is new Ada.Unchecked_Deallocation
| ( | Object => Facilities.Class, Name => Facilities.Handle); |
procedure Free is new Ada.Unchecked_Deallocation
| ( | Object => Transforms.Class, Name => Transforms.Handle); |