> For the complete documentation index, see [llms.txt](https://pangeaswap.gitbook.io/pangeaswap/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pangeaswap.gitbook.io/pangeaswap/en/developers/contracts/core-contracts/poollogger.md).

# PoolLogger

{% embed url="<https://github.com/pangea-protocol/pangea-core/blob/main/contracts/pool/PoolLogger.sol>" %}

## Overview

Contracts issue event information when a major transaction occurs. Pangea's pool also issues an event when the following major transactions occur :

* When swap takes place
* When liquidity is added or removed
* When fee is received
* When flash loan occurs

These events are not issued directly by the Pool contract, but are designed to be issued by delegating to the PoolLogger contract.

PoolLogger acts as a data hub for Pangea contracts. Through the Pool Logger contract, you can easily track all transactions without having to check every single contract.

Furthermore, Pangea's PoolLogger is designed to be upgradable. If a function such as Oracle is later required, it can be done by modifying PoolLogger without modifying the Pool contract.

## Events

### Burn

```solidity
event Burn(address indexed pool, int24 lower, int24 upper, uint256 amount0, uint256 amount1, uint256 liquidity)
```

### Collect

```solidity
event Collect(address indexed pool, uint256 amount0, uint256 amount1)
```

### Create

```solidity
event Create(address indexed pool, address token0, address token1, uint24 swapFee, uint160 price, uint24 tickSpacing)
```

### Flash

```solidity
event Flash(address indexed pool, address indexed sender, uint256 amount0, uint256 amount1, uint256 paid0, uint256 paid1)
```

### Mint

```solidity
event Mint(address indexed pool, int24 lower, int24 upper, uint256 amount0, uint256 amount1, uint256 liquidity)
```

### Swap

```solidity
event Swap(address indexed pool, bool zeroForOne, uint256 amountIn, uint256 amountOut)
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://pangeaswap.gitbook.io/pangeaswap/en/developers/contracts/core-contracts/poollogger.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
