Skip to content

Commit 1450ff4

Browse files
author
Peter Braun
committed
added logdir declaration
1 parent 931cdd4 commit 1450ff4

File tree

1 file changed

+59
-18
lines changed

1 file changed

+59
-18
lines changed

src/secop_ophyd/SECoPDevices.py

Lines changed: 59 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,11 @@ class SECoPBaseDevice(StandardReadable):
233233
"""
234234

235235
def __init__(
236-
self, secclient: AsyncFrappyClient, module_name: str, loglevel=logging.INFO
236+
self,
237+
secclient: AsyncFrappyClient,
238+
module_name: str,
239+
loglevel=logging.INFO,
240+
logdir: str | None = None,
237241
) -> None:
238242
"""Initiate A SECoPBaseDevice
239243
@@ -254,7 +258,7 @@ def __init__(
254258
name = self._secclient.properties[EQUIPMENT_ID].replace(".", "-")
255259

256260
self.logger: Logger = setup_logging(
257-
name=f"secop-ophyd:{name}:{module_name}", level=loglevel
261+
name=f"secop-ophyd:{name}:{module_name}", level=loglevel, log_dir=logdir
258262
)
259263

260264
# Add configuration Signal
@@ -457,7 +461,11 @@ def noop(val):
457461
class SECoPCommunicatorDevice(SECoPBaseDevice):
458462

459463
def __init__(
460-
self, secclient: AsyncFrappyClient, module_name: str, loglevel=logging.INFO
464+
self,
465+
secclient: AsyncFrappyClient,
466+
module_name: str,
467+
loglevel=logging.INFO,
468+
logdir: str | None = None,
461469
):
462470
"""Initializes the SECoPCommunicatorDevice
463471
@@ -468,7 +476,10 @@ def __init__(
468476
:type module_name: str"""
469477

470478
super().__init__(
471-
secclient=secclient, module_name=module_name, loglevel=loglevel
479+
secclient=secclient,
480+
module_name=module_name,
481+
loglevel=loglevel,
482+
logdir=logdir,
472483
)
473484

474485

@@ -479,7 +490,11 @@ class SECoPReadableDevice(SECoPCommunicatorDevice, Triggerable, Subscribable):
479490
"""
480491

481492
def __init__(
482-
self, secclient: AsyncFrappyClient, module_name: str, loglevel=logging.INFO
493+
self,
494+
secclient: AsyncFrappyClient,
495+
module_name: str,
496+
loglevel=logging.INFO,
497+
logdir: str | None = None,
483498
):
484499
"""Initializes the SECoPReadableDevice
485500
@@ -494,7 +509,10 @@ def __init__(
494509
self.status: SignalR
495510

496511
super().__init__(
497-
secclient=secclient, module_name=module_name, loglevel=loglevel
512+
secclient=secclient,
513+
module_name=module_name,
514+
loglevel=loglevel,
515+
logdir=logdir,
498516
)
499517

500518
if not hasattr(self, "value"):
@@ -583,7 +601,11 @@ class SECoPTriggerableDevice(SECoPReadableDevice, Stoppable):
583601
"""
584602

585603
def __init__(
586-
self, secclient: AsyncFrappyClient, module_name: str, loglevel=logging.info
604+
self,
605+
secclient: AsyncFrappyClient,
606+
module_name: str,
607+
loglevel=logging.info,
608+
logdir: str | None = None,
587609
):
588610
"""Initialize SECoPTriggerableDevice
589611
@@ -599,7 +621,7 @@ def __init__(
599621
self._success = True
600622
self._stopped = False
601623

602-
super().__init__(secclient, module_name, loglevel=loglevel)
624+
super().__init__(secclient, module_name, loglevel=loglevel, logdir=logdir)
603625

604626
async def __go_coro(self, wait_for_idle: bool):
605627
await self._secclient.exec_command(module=self._module, command="go")
@@ -660,7 +682,11 @@ class SECoPMoveableDevice(SECoPWritableDevice, Locatable, Stoppable):
660682
"""
661683

662684
def __init__(
663-
self, secclient: AsyncFrappyClient, module_name: str, loglevel=logging.INFO
685+
self,
686+
secclient: AsyncFrappyClient,
687+
module_name: str,
688+
loglevel=logging.INFO,
689+
logdir: str | None = None,
664690
):
665691
"""Initialize SECoPMovableDevice
666692
@@ -673,7 +699,7 @@ def __init__(
673699

674700
self.target: SignalRW
675701

676-
super().__init__(secclient, module_name, loglevel=loglevel)
702+
super().__init__(secclient, module_name, loglevel=loglevel, logdir=logdir)
677703

678704
if not hasattr(self, "target"):
679705
raise AttributeError(
@@ -762,7 +788,9 @@ class SECoPNodeDevice(StandardReadable):
762788
to the Sec-node properties
763789
"""
764790

765-
def __init__(self, secclient: AsyncFrappyClient, logger: Logger):
791+
def __init__(
792+
self, secclient: AsyncFrappyClient, logger: Logger, logdir: str | None = None
793+
):
766794
"""Initializes the node device and generates all node signals and subdevices
767795
corresponding to the SECoP-modules of the secnode
768796
@@ -814,7 +842,10 @@ def __init__(self, secclient: AsyncFrappyClient, logger: Logger):
814842
self,
815843
module,
816844
secop_dev_class(
817-
self._secclient, module, loglevel=self.logger.level
845+
self._secclient,
846+
module,
847+
loglevel=self.logger.level,
848+
logdir=logdir,
818849
),
819850
)
820851
self.mod_devices[module] = getattr(self, module)
@@ -829,13 +860,18 @@ def __init__(self, secclient: AsyncFrappyClient, logger: Logger):
829860

830861
@classmethod
831862
def create(
832-
cls, host: str, port: str, loop, loglevel: str = "INFO"
863+
cls,
864+
host: str,
865+
port: str,
866+
loop,
867+
loglevel: str = "INFO",
868+
logdir: str | None = None,
833869
) -> "SECoPNodeDevice":
834870

835871
secclient: AsyncFrappyClient
836872

837873
logger: Logger = setup_logging(
838-
name=f"frappy:{host}:{port}", level=LOG_LEVELS[loglevel]
874+
name=f"frappy:{host}:{port}", level=LOG_LEVELS[loglevel], log_dir=logdir
839875
)
840876

841877
if not loop.is_running():
@@ -856,15 +892,20 @@ def create(
856892
"running in a seperate thread"
857893
)
858894

859-
return SECoPNodeDevice(secclient=secclient, logger=logger)
895+
return SECoPNodeDevice(secclient=secclient, logger=logger, logdir=logdir)
860896

861897
@classmethod
862898
async def create_async(
863-
cls, host: str, port: str, loop, loglevel: str = "INFO"
899+
cls,
900+
host: str,
901+
port: str,
902+
loop,
903+
loglevel: str = "INFO",
904+
logdir: str | None = None,
864905
) -> "SECoPNodeDevice":
865906

866907
logger: Logger = setup_logging(
867-
name=f"frappy:{host}:{port}", level=LOG_LEVELS[loglevel]
908+
name=f"frappy:{host}:{port}", level=LOG_LEVELS[loglevel], log_dir=logdir
868909
)
869910

870911
secclient: AsyncFrappyClient
@@ -888,7 +929,7 @@ async def create_async(
888929
secclient = await asyncio.wrap_future(future=client_future)
889930
secclient.external = True
890931

891-
return SECoPNodeDevice(secclient=secclient, logger=logger)
932+
return SECoPNodeDevice(secclient=secclient, logger=logger, logdir=logdir)
892933

893934
def disconnect(self):
894935
"""shuts down secclient, eventloop must be running in external thread"""

0 commit comments

Comments
 (0)