google-cloud-logging: GCP Client for Haskell

[ library, mit, web ] [ Propose Tags ] [ Report a vulnerability ]

GCP Logging client for Haskell


[Skip to Readme]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 1.1.0.0
Change log CHANGELOG.md
Dependencies aeson (<3), base (>=4.7 && <5), bytestring (>=0.9.1.4), google-cloud-common (>=1.1.0.0 && <1.2.0.0) [details]
License MIT
Copyright 2025 tushar
Author tushar
Maintainer tusharadhatrao@gmail.com
Category Web
Home page https://github.com/tusharad/google-cloud-haskell#readme
Bug tracker https://github.com/tusharad/google-cloud-haskell/issues
Source repo head: git clone https://github.com/tusharad/google-cloud-haskell
Uploaded by tusharad at 2025-09-11T14:20:08Z
Distributions NixOS:0.1.0.0
Downloads 12 total (4 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for google-cloud-logging-1.1.0.0

[back to package description]

google-cloud-logging

Haskell idiomatic client for Google Cloud Platform Logging service.

Full docs are available at https://github.com/tusharad/google-cloud-haskell

Installation

  • Cabal: add to your .cabal
    • build-depends: google-cloud-logging == 1.1.0.0
  • Stack: add to your package.yaml
    • dependencies: - google-cloud-logging == 1.1.0.0

This package depends on google-cloud-common for auth and HTTP helpers.

Authentication

Authentication is handled by google-cloud-common and follows this order:

  1. Use GOOGLE_APPLICATION_CREDENTIALS to load a Service Account JSON and exchange a signed JWT for an access token.
  2. Otherwise, use the Compute metadata server (suitable for GCE/GKE).

Examples

Minimal examples using Google.Cloud.Logging.Logs:

{-# LANGUAGE OverloadedStrings #-}

import Google.Cloud.Logging.Logs

-- List log names under a project
listLogsExample :: IO ()
listLogsExample = do
  let resource = Projects "my-gcp-project"
  eResp <- listLogs resource defaultListLogsOps
  case eResp of
    Left err -> putStrLn ("Error: " <> err)
    Right res -> print (logNames res)

-- Fetch logging settings for a project
getSettingsExample :: IO ()
getSettingsExample = do
  let resource = Projects "my-gcp-project"
  eRes <- getSettings resource
  case eRes of
    Left err -> putStrLn ("Settings error: " <> err)
    Right settings -> print settings

License

MIT © Contributors