{
  'name' => 'Test',
  '$metadata' => {
    'varlog' => '/var/log',
    'tmplog' => '/tmp/log',
  },
  '$services' => {
    'log' => {
      'package' => 'Venus/Path',
      'argument' => {
        '$metadata' => 'tmplog'
      }
    },
    'development_log' => {
      'package' => 'Venus/Path',
      'extends' => 'log',
      'builder' => [
        {
          'method' => 'new',
          'return' => 'self',
          'inject' => 'list'
        },
        {
          'method' => 'child',
          'argument' => 'development.log',
          'return' => 'result'
        },
      ]
    },
    'production_log' => {
      'package' => 'Venus/Path',
      'extends' => 'log',
      'argument' => {
        '$metadata' => 'varlog'
      },
      'builder' => [
        {
          'method' => 'new',
          'return' => 'self',
          'inject' => 'hash'
        },
        {
          'method' => 'child',
          'argument' => 'production.log',
          'return' => 'result'
        },
      ]
    },
    'staging_log' => {
      'package' => 'Venus/Path',
      'extends' => 'log',
      'builder' => [
        {
          'method' => 'new',
          'return' => 'self',
          'inject' => 'hash'
        },
        {
          'method' => 'child',
          'argument' => 'staging.log',
          'return' => 'result'
        },
      ]
    },
    'testing_log' => {
      'package' => 'Venus::Path',
      'builder' => [
        {
          'method' => 'new',
          'argument' => {
            '$service' => 'filetemp',
          },
          'return' => 'self',
        },
        {
          'method' => 'child',
          'argument' => 'testing.log',
          'return' => 'result'
        },
      ]
    },
    'filetemp' => {
      'package' => 'File/Temp',
      'constructor' => 'newdir',
    },
  }
}