# give/4.16.9/src/TestData/Factories/LogFactory.php

GiveWP – Donation Plugin and Fundraising Platform, version 4.16.9. 102 lines.

- Page: https://pluginprobe.com/plugins/give/4.16.9/code/src/TestData/Factories/LogFactory.php
- Raw: https://pluginprobe.com/plugins/give/4.16.9/raw/src/TestData/Factories/LogFactory.php
- Modified: 2021-11-23T23:55:18+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/give/4.16.9/code/src/TestData/Factories/LogFactory.php#L10-L20`.

```php
<?php

namespace Give\TestData\Factories;

use Give\TestData\Framework\Factory;

/**
 * Class LogFactory
 * @package Give\TestData\Factories
 */
class LogFactory extends Factory
{
    /**
     * @var string
     */
    private $type;

    /**
     * @var string
     */
    private $category;

    /**
     * @param string $type
     */
    public function setLogType($type)
    {
        $this->type = $type;
    }

    /**
     * @param string $category
     */
    public function setLogCategory($category)
    {
        $this->category = $category;
    }

    /**
     * @param string $category
     */
    public function setLogSource($source)
    {
        $this->source = $source;
    }

    /**
     * @return string
     */
    public function getLogType()
    {
        if ('random' === $this->type) {
            return $this->randomLogType();
        }

        return $this->type;
    }

    /**
     * @return string
     */
    public function getLogCategory()
    {
        if ('random' === $this->category) {
            return $this->randomLogCategory();
        }

        return $this->category;
    }

    /**
     * @return string
     */
    public function getLogSource()
    {
        if ('random' === $this->source) {
            return $this->faker->sentence($nbWords = 3);
        }

        return $this->source;
    }

    /**
     * Donor definition
     *
     * @since 1.0.0
     * @return array
     */
    public function definition()
    {
        return [
            'type' => $this->getLogType(),
            'message' => $this->faker->sentence($nbWords = 6),
            'category' => $this->getLogCategory(),
            'source' => $this->getLogSource(),
            'context' => [
                'Info' => $this->faker->sentence($nbWords = 6),
            ],
        ];
    }
}

```
