or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

athena-queries.mdcloudwatch-logging.mdecr-integration.mdecs-orchestration.mdemr-processing.mdindex.mdparameter-store.mdpipes-orchestration.mdrds-operations.mdredshift-integration.mds3-storage.mdsecrets-management.md

cloudwatch-logging.mddocs/

0

# CloudWatch Logging

1

2

Send Dagster logs to Amazon CloudWatch for centralized log management, monitoring, and alerting integration.

3

4

## Capabilities

5

6

### CloudWatch Logger

7

8

```python { .api }

9

def cloudwatch_logger(

10

log_group: str,

11

log_stream: Optional[str] = None,

12

log_level: str = "INFO",

13

**kwargs

14

) -> LoggerDefinition:

15

"""

16

Logger that sends Dagster logs to CloudWatch.

17

18

Parameters:

19

log_group: CloudWatch log group name

20

log_stream: CloudWatch log stream name (auto-generated if None)

21

log_level: Minimum log level to send

22

**kwargs: Additional CloudWatch configuration

23

24

Returns:

25

LoggerDefinition: Configured CloudWatch logger

26

"""

27

```

28

29

## Usage Examples

30

31

```python

32

from dagster import job, op, Definitions

33

from dagster_aws.cloudwatch import cloudwatch_logger

34

35

@op

36

def log_processing_status(context):

37

context.log.info("Starting data processing")

38

# Process data...

39

context.log.info("Data processing completed successfully")

40

return "success"

41

42

@job(

43

logger_defs={

44

"cloudwatch": cloudwatch_logger.configured({

45

"log_group": "/dagster/jobs",

46

"log_level": "INFO"

47

})

48

}

49

)

50

def monitored_job():

51

log_processing_status()

52

53

defs = Definitions(jobs=[monitored_job])

54

```